PHPExcel Excel TO HTML $_sheetIndex 错误

PHPExcel Excel TO HTML $_sheetIndex error

。 . . . 我正在使用 Codeigniter 3.1 和 PHPExcel 1.8。

我有一个函数可以创建一个 PHPExcel 对象并 returns 它和另一个函数将 Excel 输出到浏览器

$objPHPExcel = $this->MyExcelModel->my_function();
$file_name = "my_file.xls";
Content-Type: application/vnd.ms-excel");
Content-Disposition: attachment; filename=$file_name");
Cache-Control: max-age=0");
PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel5");
save("php://output");

这工作得很好。现在我还需要相同 Excel 数据的 HTML。以前我正在创建一个单独的预览功能。但是每当有变化时,我都必须在两个地方进行。所以我搜索并发现我也可以使用 PHPExcel 生成 HTML。以下是我使用的代码

$objPHPExcel = $this->MyExcelModel->my_function();
$objWriter2 = new PHPExcel_Writer_HTML($objPHPExcel);
$html = "";
$html .= $objWriter2->generateHTMLHeader();
$html .= $objWriter2->generateSheetData();
$html .= $objWriter2->generateHTMLFooter();

我在 json 响应中发送此 html 以响应 ajax 呼叫。当函数被调用时。我收到一个错误

<h4>A PHP Error was encountered</h4>
<p>Severity: Notice</p>
<p>Message:  Undefined property: PHPExcel_Writer_HTML::$_sheetIndex</p>
<p>Filename: Writer/HTML.php</p>
<p>Line Number: 401</p>

并且 json 响应也有 html。所以 html 正在生成,但我收到此错误。我搜索了很多但没有成功。所以我几乎得到了我需要的东西,但这个错误限制了我使用它。所以帮助。 . . . .

去编辑 /Classes/PHPExcel/Writer/HTML.php 找到第 401 行,上面写着

if ($this->_sheetIndex !== null || !$this->spansAreCalculated) {

改为阅读

if ($this->sheetIndex !== null || !$this->spansAreCalculated) {

立即修复

我会在几分钟内将修复推送到 github 的开发分支