spout read phpspreadsheet library importar example ejemplos php excel import

read - spout php example



PHP importa Excel en la base de datos(xls y xlsx) (5)

Escribí una clase heredada:

<?php class ExcelReader extends Spreadsheet_Excel_Reader { function GetInArray($sheet=0) { $result = array(); for($row=1; $row<=$this->rowcount($sheet); $row++) { for($col=1;$col<=$this->colcount($sheet);$col++) { if(!$this->sheets[$sheet][''cellsInfo''][$row][$col][''dontprint'']) { $val = $this->val($row,$col,$sheet); $result[$row][$col] = $val; } } } return $result; } } ?>

Así que puedo hacer esto:

<?php $data = new ExcelReader("any_excel_file.xls"); print_r($data->GetInArray()); ?>

Intenté buscar algunos complementos para importar archivos de Excel a la base de datos MySQL, uno de ellos es http://code.google.com/p/php-excel-reader/

La herramienta es tan poderosa que muestra todo el contenido de Excel en html.

Sin embargo, creo que solo necesito leer el archivo de Excel y extraer el contenido, por ejemplo, en una matriz, y luego escribir una declaración SQL para ingresar a la base de datos.

¿Habría buenos códigos y paquetes? ¡Gracias!



Si guarda el archivo excel como un archivo CSV, puede importarlo a una base de datos mysql usando herramientas como PHPMyAdmin

No estoy seguro de si esto ayudaría en su situación, pero un archivo CSV, ya sea manual o programáticamente, sería mucho más fácil de analizar en una base de datos que un archivo de Excel, pensé.

EDITAR: Sin embargo, sugeriría mirar las otras respuestas en lugar de las mías, ya que la respuesta de @diEcho parece más apropiada.


Si puede convertir .xls a .csv antes de procesarlo, puede usar la siguiente consulta para importar el csv a la base de datos:

load data local infile ''FILE.CSV'' into table TABLENAME fields terminated by '','' enclosed by ''"'' lines terminated by ''/n'' (FIELD1,FIELD2,FIELD3)


A veces necesito importar archivos xlsx grandes a la base de datos, así que uso spreadsheet-reader ya que puede leer el archivo por fila. Es una forma muy eficiente de importar memoria .

<?php // If you need to parse XLS files, include php-excel-reader require(''php-excel-reader/excel_reader2.php''); require(''SpreadsheetReader.php''); $Reader = new SpreadsheetReader(''example.xlsx''); // insert every row just after reading it foreach ($Reader as $row) { $db->insert($row); } ?>

https://github.com/nuovo/spreadsheet-reader