如何解决PHP电子表格HTML不会显示图表
我正在尝试以HTML显示在PHP电子表格中创建的图表。保存到xlsx可以成功。
我正在直接从github上的示例中使用图表创建代码。 https://github.com/PHPOffice/PhpSpreadsheet/blob/master/samples/templates/chartSpreadsheet.php
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Html_Bootstrap($spreadsheet);
$writer->setEmbedImages(true);
$writer->writeAllSheets();
$html_writer->setIncludeCharts(true);
echo $html_writer->generateHTMLAll(); //shows table but no chart
$spreadsheet->setActiveSheetIndex(0);
$writer = new Xlsx($spreadsheet);
$writer->setIncludeCharts(true);
$writer->save('test.xlsx'); //saves file with chart
更新:
我已将问题跟踪到PhpSpreadsheet / Writer / Html.php的第738行
无法渲染。我假设Settings::getRenderer()
返回null。
解决方法
您必须设置渲染器:
Settings::setChartRenderer(\PhpOffice\PhpSpreadsheet\Chart\Renderer\JpGraph::class);
有关完整示例,请参见示例: https://github.com/PHPOffice/PhpSpreadsheet/blob/master/samples/Chart/32_Chart_read_write_HTML.php
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。