php导入excel文件的处理

项目需要导入excel文件进行处理。

baidu一下有好几种方法。发现,这个冬雨博客里面介绍的比较详细。

他介绍的第一和第二种是导出文件为excel的方法。

第三种是http://www.codeplex.com/PHPExcel一个强大的类库,可以导入可以导出。

本人用的是另外一个类库叫phpExcelReader因为我要的功能只是导入数据,下载地址

http://sourceforge.net/projects/phpexcelreader/郁闷的是不能直接用,直接用回报错,百度之后别人给的注意如下。

注意点

reader.php 中的下面这行要修改
将 require_once ‘Spreadsheet/Excel/Reader/OLERead.php’;

改为 require_once ‘oleread.inc’;

example.php 中
修改 $data->setOutputEncoding(’CP1251′);

为 $data->setOutputEncoding(’CP936′);中文

修改 nl2br(htmlentities($data->sheets[$sheet]['cells'][$row][$col]));

为 $table_output[$sheet] .= nl2br(htmlspecialchars($data->sheets[$sheet]['cells'][$row][$col]));

不然中文会有问题。
繁体的话可以修改为CP950、日文是CP932,具体可参考codepage说明。

修改 $data->read(’jxlrwtest.xls’) 为自己的 excel 文件名,zip 档中附的 jxlrwtest.xls 应该是坏了。

我自己的感受:

  1. require_once ‘oleread.inc’也可以和拷贝出来放到reader的文件最前面合并为一个文件。
  2. $data->setOutputEncoding(‘utf-8’)也可以这样用,我的项目都是utf-8的编码,开始用的就是上面的写法$data->setOutputEncoding(’CP936′);结果是,导入数据库老是说编码错误。最后设成utf-8解决了。
  3. 下载下来的demo中的jxlrwtest.xls 却实是坏了。我用自己的excel文件就ok了。也不知道为什么他们的demo怎么不换个,可以用的,demo都运行这么麻烦。奇怪!
posted @ 2009-09-16 22:29  phpzxh  阅读(11925)  评论(0编辑  收藏  举报