1

最终编辑 - 在下面回答 - 问题: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 中打开文件时消除错误。有什么想法吗?

4

1 回答 1

0

问题是GROUPING_TYPE在我的原始代码中定义的。我变了

PHPExcel_Chart_DataSeries::GROUPING_CLUSTERED

PHPExcel_Chart_DataSeries::GROUPING_STANDARD

和中提琴,一切都按预期工作。

因此,对于其他任何人来说,复制/粘贴代码位以在 PHP Excel 中创建图表:

如果您在 Excel 中打开文件时收到“不可读的内容”错误,(并且您的标题已正确设置),请确保您根据您定义的正确GROUP_TYPE声明CHART_TYPE

于 2013-10-14T09:27:17.443 回答