PHP导入Excel导入数据库(XLS和XLSX)(PHP import Excel into da

2019-06-26 06:05发布

我试图寻找一些插件来导入Excel文件到MySQL数据库,其中之一是http://code.google.com/p/php-excel-reader/

该工具是如此强大,它显示了整个Excel内容转换成HTML。

不过,我想我只是需要读取Excel文件并解压,例如,到一个数组,然后写一个SQL语句输入到数据库中。

会不会有什么好的代码和包? 谢谢!

Answer 1:

这是适当的文档和例子最好的插件

https://github.com/PHPOffice/PHPExcel

加点:你可以要求在它的帮助论坛 ,你会得到从作者本身,真是令人印象深刻一天之内响应。



Answer 2:

有时候,我需要进口大量XLSX文件到数据库中,所以我用spreadsheet-reader ,因为它可以读取每行的文件。 这是非常节省内存的方式导入。

<?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



Answer 3:

如果你可以转换.xls的处理之前为.csv,您可以使用下面的查询到CSV导入到数据库中:

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


Answer 4:

如果Excel文件保存为一个CSV文件,那么你可以使用工具将其导入到一个MySQL数据库等的phpMyAdmin

林不知道这是否会在您的情况有所帮助,但一个CSV文件手动或编程方式将是一个更容易解析成比我想象的Excel文件的数据库。

编辑:但是我建议在寻找其他的答案,而不是我的,因为@diEcho答案似乎更合适。



Answer 5:

我写了一个继承的类:

 <?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; } } ?> 

所以,我可以这样做:

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



文章来源: PHP import Excel into database (xls & xlsx)
标签: php excel import