PHP-ExcelReader是php读取excel(.xls)文件的类库,虽然最后更新是在2011年4月,但是稍作修改还是可以满足现在的要求的。
官方网址:http://sourceforge.net/projects/phpexcelreader/
下载到的文件中oleread.inc、reader.php是必需文件,其他都是示例之类的。
我相信每个人都会忍不住去运行一下里面的example.php,但是非常遗憾,似乎自带的xls示例文件有问题。所以最好是自己准备个.xls文件放在同目录下,并把example.php文件中的 $data->read('xxxxx.xls'); 换成自己的文件名。
另外,如果是处理中文,还需要把 $data->setOutputEncoding('CP1251'); 换成 $data->setOutputEncoding('CP936');
然后再运行一下看看效果?一般来说还是会报错的,这时候根据不同的错误再做一些修改。
常见错误:
Fatal error: require_once() [function.require]: Failed opening required 'Spreadsheet/Excel/Reader/ OLERead.php ' (include_path='.;\xampp\php\PEAR') in XXXX
意思是缺少Spreadsheet/Excel/Reader/OLERead.php这个文件。在excel目录下有oleread.inc文件,于是将Spreadsheet/Excel/Reader/OLERead.php换成 oleread.inc 就OK了!
Assigning the return value of new by reference is deprecated in xxx
这是由于php5.3开始后,废除了php中的”=&”符号,所以要想复制,直接用=引用即可。将reader.php文件中的 $this->_ole =& new OLERead(); 替换成 $this->_ole = new OLERead();
Undefined variable: formatstr in xxx
在reader.php中第634行附近找到if ($formatstr),替换成 if (isset($formatstr))