使用PHP把excel(xls)文件导入mysql数据库

昨晚一个客户联系我做网站,提出的要求是需要把客户提供的excel文件里面的数据导入到mysql数据库,最常用的方法就是先把xls文件导出为csv格式的文件,然后在解析csv格式的文件导入到mysql数据库。方法比较冗余,而且分好几步进行,很不方便,断桥残雪今天介绍一种方法是直接跳过csv的中间环节,直接把excel文件导入mysql数据库。

首先我们需要下载PHP-ExcelReader这是一个开源的项目,主要是来解析excel的文件,下载地址:http://sourceforge.net/projects/phpexcelreader,下载之后解压,主要用到excel文件夹里面的两个文件reader.php和oleread.php(这个文件默认的是oleread.inc,不清楚为啥,一堆e文,没看,直接改名即可)。

在reader.php文件中找到以下类似代码(第一行既是),改成正确的oleread.php路径即可:require_once 'oleread.php';

然后新建一个php文件引入reader.php,代码如下:

  1. <?php  
  2. require_once 'Excel/reader.php';  
  3. $data = new Spreadsheet_Excel_Reader();  
  4. $data->setOutputEncoding('gbk');\\此处设置编码,一般都是gbk模式  
  5.  
  6. $data->read('Book1.xls');//文件路径  
  7.  
  8. error_reporting(E_ALL ^ E_NOTICE);  
  9. //这里我就只循环输出excel文件的内容了,要入库,只要把输出的地方,写一段mysql语句即可~  
  10. for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {  
  11. for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {  
  12. echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";  
  13. }  
  14. echo "\n";  
  15. }  
  16. ?>  

注意:请不要使用PHP-ExcelReader压缩包里面的xls进行测试,断桥残雪发现,那个文件既是使用excel也打不开,所以是错误的。

转载请注明:代码家园 » 使用PHP把excel(xls)文件导入mysql数据库

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)