读取本地文件没问题。换成读取web文件
could not open xxx.xls for reading! file does not exist.
file_exists报错。 如果改成file_get_contents() 取出的数据又不正常。求解决方案
回复讨论(解决方案) 他本身就是用 file_get_contents 的 public function read($sfilename) { // check if file exists and is readable if(!is_readable($sfilename)) { throw new exception(could not open . $sfilename . for reading! file does not exist, or it is not readable.); } // get the file data $this->data = file_get_contents($sfilename);
老大。
是先
if (!file_exists($pfilename)) {
throw new phpexcel_reader_exception(could not open . $pfilename . for reading! file does not exist.);
}
这里就报错 我加了句 !file_exists($pfilename) && ! file_get_contents('xxx')
这里不报错了 。
紧接着下面执行
$ole = new phpexcel_shared_oleread();
// get excel data
$res = $ole->read($pfilename);
这里是read方法
if(!is_readable($sfilename)) {
throw new phpexcel_reader_exception(could not open . $sfilename . for reading! file does not exist, or it is not readable.);
}
这里就又报错了。没看到$this->data = file_get_contents($sfilename); 请问这个在哪 没搜到。。莫非版本改了?
不错,我说的 file_get_contents 不就在你第二处报错的下面吗?
file_get_contents 可以安全的处理二进制文件,所以可以用 file_get_contents 读取excel文件
但如果是远程读取的话,由于网络和对方的原因,失败的概率还是蛮大的
还是应该先读回到本地临时文件比较稳妥
哎。看来要改代码了。phpexcel能直接读取成数组处理。 用file_get_contents只能搞成字符串。 在逻辑处理上全部都要改正