【发布时间】:2016-03-21 16:39:43
【问题描述】:
我正在使用 PHPExcel 读取 xlsx 工作簿,以下是我目前使用的代码,只是为了设置活动工作表
date_default_timezone_set('Europe/London');
set_include_path(get_include_path() . PATH_SEPARATOR . './Classes/');
include 'PHPExcel/IOFactory.php';
$reader = PHPExcel_IOFactory::createReader('Excel2007');
$reader->setReadDataOnly(true);
$xlWB = $reader->load('/' . $target_file);
$xlWB->setActiveSheetIndex(0); //EXCEPTION OCCURS HERE
但我遇到了一个例外:
致命错误:未捕获的异常 'PHPExcel_Exception' 并带有消息“您尝试通过超出范围索引设置活动工作表:0。实际工作表数为 0。”在 /[my root]/Classes/PHPExcel.php:695 堆栈跟踪:#0 /[my-root]/conversion-demo.php(211): PHPExcel->setActiveSheetIndex(0) #1 {main} 在 /[my root]/Classes/PHPExcel.php 上线 695
该文件是一个 .xlsx 文件,它确实存在(路径正确)并且文件中有 3 张纸。
我在这里做一些根本错误的事情吗?
【问题讨论】:
-
你不能选择按名称而不是索引。你可以试试吗?
-
如果没有索引为 0 的工作表,则电子表格不包含任何工作表,或者加载文件时出现问题.....无论如何,只有你可以访问它失败的文件,所以我们几乎不可能再说什么
-
@MarkBaker 加载文件时出现问题,在客户端计算机上打开时需要损坏加载。感谢您的指针以为我要疯了!!!
-
@MarkBaker 刚刚尝试使用另一个 xlsx 工作簿并得到相同的结果,也许它毕竟不是工作簿......
-
根本没有错;我不知道为什么它应该工作时不工作