最终编辑 - 以下答案 - 问题:GROUPING_TYPE
我是PHPExcel的新手,在通过PHPExcel添加图表时遇到问题。我目前只测试Excel 2007输出版本。
代码的其余部分(未包含)工作正常,因为Excel 2007可以下载和读取简单的数据文件(没有下面的图表代码)而没有错误,但是,当我添加图表时(使用副本/粘贴代码如下),在Excel中打开下载的文件后,我收到错误Excel found unreadable content in:####. Do you want to recover the contents...
编辑:恢复内容后,图表仍然存在且所有数据都正确。
以下是用于生成图表的代码:
//ADD THE REPORT SUMMARY CHART
$chrtCols = "'Report Summary'!B2:B$rowNum";
$chrtVals = "'Report Summary'!C2:C$rowNum";
$periods = new PHPExcel_Chart_DataSeriesValues('String', $chrtCols, null, $rowNum-1);
$values = new PHPExcel_Chart_DataSeriesValues('Number', $chrtVals, null, $rowNum-1);
$series = new PHPExcel_Chart_DataSeries(
PHPExcel_Chart_DataSeries::TYPE_LINECHART,
PHPExcel_Chart_DataSeries::GROUPING_CLUSTERED,
array(0),
array(),
array($periods),
array($values)
);
$series->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_COL);
$layout = new PHPExcel_Chart_Layout();
$plotarea = new PHPExcel_Chart_PlotArea($layout, array($series));
$chart = new PHPExcel_Chart('sample', null, null, $plotarea);
$chart->setTopLeftPosition('A1');
$chart->setBottomRightPosition('A18');
$actSheet->addChart($chart);
$rowNum
是最后一行数据。
另外,我在实际编写文件之前包含了行$objWriter->setIncludeCharts(TRUE);
。
还使用适用于Excel 2007扩展的MIME类型下载该文件:
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
,所以我不相信这是一个标题问题?
那里有人可以提供帮助吗?基本上,我只需要在Excel中打开文件时摆脱错误。有什么想法吗?
答案 0 :(得分:0)
问题是我原始代码中定义的GROUPING_TYPE
。我改变了
PHPExcel_Chart_DataSeries::GROUPING_CLUSTERED
到
PHPExcel_Chart_DataSeries::GROUPING_STANDARD
和中提琴,一切都按预期工作。
所以在那里复制/粘贴用于在PHP Excel中创建图表的代码位的任何人:
如果您在Excel中打开文件时收到“不可读的内容”错误,(并且您的标题已正确设置),请确保您根据GROUP_TYPE
声明正确的CHART_TYPE
定义了。