entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

Importar excel en tabla de sql server con php

Hola a todos.

Desde ya muchas gracias si alguien me puede orientar, quisiera subir un archivo excel desde un formulario web para que esos datos se almacenen en una tabla de SQL Server, lo quiero hacer con PHP, les agradecería mucho si me pueden ayudar con algún ejemplo.

Gracias

1 Respuesta

3votos

Leonardo-Tadei Puntos227320

Hola Rach,

podés leer el archivo de MS Excel subido con PHPExcel

Tiene una sintaxis Orientada a Objetos que te permite acceder a la hoja y recorrer las celdas.

Te dejo un ejemplo de como se recorrería una hoja y se mostraría en una tabla HTML:

/** PHPExcel_IOFactory */
require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php';
$XLFileType = PHPExcel_IOFactory::identify('prueba.xls');  
$objReader = PHPExcel_IOFactory::createReader($XLFileType);
$objPHPExcel = $objReader->load("prueba.xls");

$colinit=1;
$rowinit=1;
$cols=PHPExcel_Cell::columnIndexFromString($objPHPExcel->getActiveSheet()->getHighestColumn());
$rows=$objPHPExcel->getActiveSheet()->getHighestRow();

print('<table>');

for($i=$rowinit;$i<=$cols;$i++) {
    print('<tr>');
    for($j=$colinit;$j<=$rows;$j++) {
        $cell = $objPHPExcel->getActiveSheet()->getCellByColumnAndRow($j, $i)->getValue();
        if( ! is_null($cell) && $cell!='*' ) {
            //var_dump("Celda $j,$i", $cell);
            print("<td><b>[$i,$j]</b>$cell</td>");
        }
    }
    print('</tr>');
}
print('</table>');
...

Con el dato de las celdas leídos, tenés que ir armando las querys para ejecutar: serás más simple o complicado dependiendo de si los datos están siempre en el mismo lugar o si varían...

Saludos cordiales

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta