Como ven es la primera vez que me veo en la necesidad de postear en el foro directamente, aunque muchas veces me valgo de su conocimiento para mis trabajos, pero esta vez me encontre con algo que no he podido descifrar, soy algo nuevo en php y se me pidio programar una pagina que permita importar un archivo excel y editarlo, para exportarlo como un nuevo archivo, rebuscando encontre la manera de hacerlo con las librerias de PHPExcel y esto es lo que tengo.
Basicamente recibo el archivo de un boton tipo "File" lo leo con la libreria, y lo muestro en una tabla HTML, ahora necesito incluir algunos botones con funciones basicas como "Limpiar Tabla", "Agregar Fila", "Insertar texto en celda", funciones como estas las hacia en tablas html con javascript y DOM, pero aca no pude implementarlas, podrian darme un mano con esto por favor?, gracias.
Adjunto codigo.
Código:
<?php if($_FILES['file']['name'] != '') { //Se llama la clase que necesitamos para la aplicacion. require_once 'reader/Classes/PHPExcel/IOFactory.php'; //Funciones extras. function get_cell($cell, $objPHPExcel){ //Seleccionar celdas. $objCell = ($objPHPExcel->getActiveSheet()->getCell($cell)); //Obtener el valor dentro de la celda. return $objCell->getvalue(); } function pp(&$var){ $var = chr(ord($var)+1); return true; } $name = $_FILES['file']['name']; $tname = $_FILES['file']['tmp_name']; $type = $_FILES['file']['type']; if($type == 'application/vnd.ms-excel') { //Extension excel 97. $ext = 'xls'; } else if($type == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') { //Extension excel 2007 y 2010. $ext = 'xlsx'; }else{ //Extension no valida. echo 'Extencion no valida.'; echo '<br><br>Por favor vuelva a la pagina anterior dando click en el siguiente enlace: <br><br>'; $url = htmlspecialchars($_SERVER['HTTP_REFERER']); echo "<a href='$url'>Regresar</a>"; exit(); } $xlsx = 'Excel2007'; $xls = 'Excel5'; //Creando el lector. $objReader = PHPExcel_IOFactory::createReader($$ext); //Cargamos el archivo. $objPHPExcel = $objReader->load($tname); $dim = $objPHPExcel->getActiveSheet()->calculateWorksheetDimension(); //List coloca en array $start y $end. list($start, $end) = explode(':', $dim); if(!preg_match('#([A-Z]+)([0-9]+)#', $start, $rslt)){ return false; } list($start, $start_h, $start_v) = $rslt; if(!preg_match('#([A-Z]+)([0-9]+)#', $end, $rslt)){ return false; } list($end, $end_h, $end_v) = $rslt; //Empieza lectura vertical. $table = "<table border='2'"; for($v=$start_v; $v<=$end_v; $v++){ //Empieza lectura horizontal. $table .= "<tr>"; for($h=$start_h; ord($h)<=ord($end_h); pp($h)){ $cellValue = get_cell($h.$v, $objPHPExcel); $table .= "<td>"; if($cellValue !== null){ $table .= $cellValue; } if($cellValue == 'no_orden'){ } $table .= "</td>"; } $table .= "</tr>"; } $table .= "</table>"; echo $table; } ?>