使用phpExcelReader读取excel文件

2009-10-11 10:34避免将excel文件转化成csv格式,在进行数据读取,而且支持多sheet文件。在这个需求前提下,我选择了2款php开源类:phpExcelReader、PHPExcel。其中后者支持读写,但是需要php5.2以上版本,并且需要打开zip支持 重点说一下 phpExcelReader,因为 phpexcel 很强大,但是也相对复杂,我看了一点E文的开发文档和使用文档,就已经没有太多的耐心了,等以后慢慢研究吧。 以下内容为转载 http://hi.baidu.com/hcylz/blog/item/65004a080416b038e9248803.html phpExcelReader是专门用来读取文件的。返回一个数组,包含表格的所有内容。 该 class 使用的方法可以参考网站下载回来的压缩档中的 example.php。 不过我下载回来的 (版本 2009-03-30),有两点要注意: 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 应该是坏了。 这是下载地址: phpExcelReader:http://sourceforge.net/projects/phpexcelreader/ PHPExcel:http://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=Documents&referringTitle=Home 范例代码 setOutputEncoding('UTF-8'); $data->read('chengji.xls'); $rs = $data -> getExcelResult(); print_r($rs); ?> 首先下载 , 解压 phpExcelReader.zip 然后把 phpExcelReader/Excel 下面的oleread.inc的代码都合并到 reader.php 并且 class Spreadsheet_Excel_Reader 代码在下方 注释掉 require_once 'Spreadsheet/Excel/Reader/OLERead.php'; 这一行 然后在 class Spreadsheet_Excel_Reader 里面加一个方法 function getExcelResult() { $result = array(); for ($i = 1; $i <= $this->sheets[0]['numRows']; $i++) { for ($j = 1; $j <= $this->sheets[0]['numCols']; $j++) { $result[$i][$j] = $this->sheets[0]['cells'][$i][$j]; } } return $result; } 大家可以看到返回的是一个数组,如果你嫌耗内存太大的话,那你只能读出来一条插入一条了. 但是真的不是很好拆开,我相信在现在大内存的情况下,这都不是问题了

你可能感兴趣的:(使用phpExcelReader读取excel文件)