读书人

小妹请问phpExcelReader读取中文excel

发布时间: 2012-03-24 14:00:46 作者: rapoo

小妹请教phpExcelReader读取中文excel文件出错问题
我有一个php文件,用户选择xls文件的。

readExcel.php

PHP code
<?phprequire_once 'Excel/reader.php';$file_name=$_REQUEST['file1'];if($file_name!=""){    $data = new Spreadsheet_Excel_Reader();    $data->setOutputEncoding('UTF-8');    $data->read(iconv("UTF-8","GB2312",$file_name));    error_reporting(E_ALL ^ E_NOTICE);    for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {        for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {            echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";        }        echo "\n";    }}?><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>读取Excel</title></head><body><form action="readExcel.php" method="post"><label for="file">Filename:</label><input type="file" name="file1" id="file1" /> <br /><input type="submit" name="submit" value="Submit" /></form></body></html>

我的phpExcelReader是从
http://cdnetworks-kr-2.dl.sourceforge.net/project/phpexcelreader/Spreadsheet_Excel_Reader/Interim%20update/phpExcelReader.zip

下载的。
就改了reader.php里require_once 'oleread.inc';
这一个地方。

我写的这个php页面读取非中文的Excel文件不报错,并且可以读取。

如果读取中文名称的Excel文件就报错。
The filename XXX.xls is not readable

例如我在D盘根目录有两个Excel文件,一个叫abc.xls,一个叫 测试.xls

两个xls里的内容都是完全一致的。

读取abc.xls就正常。

读取测试.xls就报
The filename 测试.xls is not readable

请用过phpExcelReader 帮我解释一下,如何修改。

[解决办法]
iconv("UTF-8","gb2312",$file_name)

这样转换试试

[解决办法]
echo iconv("UTF-8","gb2312",$file_name);
得到什么

[解决办法]
探讨

得到结果如下:
测试.xls
The filename 测试.xls is not readable

[解决办法]
一般都不支持中文路径
[解决办法]
参考:http://witmax.cn/php-read-excel.html

读书人网 >PHP

热点推荐