小妹请教phpExcelReader读取中文excel文件出错问题
我有一个php文件,用户选择xls文件的。
readExcel.php
PHP code
<?php
require_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);
得到什么
------解决方案--------------------
------解决方案--------------------一般都不支持中文路径
------解决方案--------------------参考:http://witmax.cn/php-read-excel.html