我有一个php文件,用户选择xls文件的。readExcel.php<?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 帮我解释一下,如何修改。

解决方案 »

  1.   

    iconv("UTF-8","gb2312",$file_name)这样转换试试
      

  2.   

    不行!报错:
    The filename is not readable
      

  3.   

    echo iconv("UTF-8","gb2312",$file_name);
    得到什么
      

  4.   

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

  5.   

    echo iconv("UTF-8","gb2312",$file_name);exit;//输出得到什么;
      

  6.   

    是不是我phpExcelReader里reader.php、oleread.inc哪里设置不对!
      

  7.   

    参考:http://witmax.cn/php-read-excel.html
      

  8.   

    少了个这个,用这个试试enctype="multipart/form-data"