PHPExcel - Excel5 - 创建折线图 - 图表缺失


PHPExcel - Excel5 - Create Line Chart - Chart Missing

拒绝? 我相信我不是第一个遇到这个问题的人。

我正在尝试使用 PHPExcel 和 Excel5 库创建一个图表,以生成 '95 格式的.xls文件。

除了图表本身的创建/保存外,一切进展顺利。 文件在创建/保存期间被保存/下载/打开,PHPExcel 在打开文件期间或 Excel 不会发出任何错误警报。

唯一真正的问题是,创建的 Excel '95 .xls文件中没有可见的图表。

我已经检查以确保MIME类型设置为'95 .xls格式application/vnd.ms-excel。 是的。

这是与图表创建相关的代码,目前有点混乱,但就像我说的,就像 2007 版本的魅力一样:

//ADD THE REPORT SUMMARY CHART
$labels = array(
    new PHPExcel_Chart_DataSeriesValues('String', "'Report Summary'!C1", null, 1),
    new PHPExcel_Chart_DataSeriesValues('String', "'Report Summary'!D1", null, 1)
);
$chrtCols = "'Report Summary'!B2:B$rowNum";
$chrtVals = "'Report Summary'!C2:C$rowNum";
$chrtVals2 = "'Report Summary'!D2:D$rowNum";
$periods = new PHPExcel_Chart_DataSeriesValues('String', $chrtCols, null, $rowNum-1);
$values = new PHPExcel_Chart_DataSeriesValues('Number', $chrtVals, null, $rowNum-1);
$values2 = new PHPExcel_Chart_DataSeriesValues('Number', $chrtVals2, null, $rowNum-1);
$series = new PHPExcel_Chart_DataSeries(
    PHPExcel_Chart_DataSeries::TYPE_LINECHART,       
    PHPExcel_Chart_DataSeries::GROUPING_STANDARD,  
    array(0,1),                                       
    $labels,                                       
    array($periods,$periods),                               
    array($values,$values2)                                  
);
$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', 24, 24);
$chart->setBottomRightPosition('B18', -24);
$actSheet->addChart($chart);

问题似乎只与 '95 版本有关,因为完全相同的代码可以创建该文件的有效 2007 版本(使用 Excel_2007 类而不是 Excel5)。

有什么想法吗? 与Excel_95相比,折线图在Excel_07中的构造是否不同(或标签定义不同)? $series数组中的任何其他声明我应该添加/修改/删除以使图表显示为Excel_95?

是的,我在写入文件之前包括$objWriter->setIncludeCharts(TRUE);

$rowNum是最后一行数据。

PHPExcel 仅支持 Excel2007 Reader/Writer 的图表;该功能尚未为 Excel5 Reader/Writer 编写