PHPExel LineChart:如何将空单元格显示为间隙而不是0值

时间:2017-09-01 07:19:47

标签: phpexcel linechart

我想用PHPExcel生成一个LineChart,其中空单元格不显示为0值,但显示为间隙。 在我的代码中,我在PHPExcelChart的构造函数中尝试了很多不同的参数值#34; displayBlanksAs",比如' '或DISPLAY_BLANKS_AS_GAP或' X'或NULL等。但没有任何效果。空单元格始终显示为0而不是间隙。

有没有人有想法?非常感谢提前! 这是我的PHP代码:

<?php
...
$dataSeriesValues = array(
new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$D$58:$Q$58', NULL, 14),);
$series = new PHPExcel_Chart_DataSeries(
PHPExcel_Chart_DataSeries::TYPE_LINECHART,      // plotType
PHPExcel_Chart_DataSeries::GROUPING_STACKED,    // plotGrouping
range(0, count($dataSeriesValues)-1),           // plotOrder
NULL,                               // plotLabel
NULL,                               // plotCategory
$dataSeriesValues                               // plotValues);
//  Set the series in the plot area
$plotArea = new PHPExcel_Chart_PlotArea(NULL, array($series));
//  Create the Chart
$chart = new PHPExcel_Chart(
'chart1',       // name
NULL,           // title
NULL,       // legend
$plotArea,      // plotArea
true,           // plotVisibleOnly
DISPLAY_BLANKS_AS_GAP,  // displayBlanksAs => here I tried ' ',NULL,'X', etc.,  empty cells are always displayed as 0, not as a gap
NULL,           // xAxisLabel
NULL        // yAxisLabel
);  
//  Set the position where the chart should appear in the worksheet
$chart->setTopLeftPosition('R58');
$chart->setBottomRightPosition('X58');
$objPHPExcel->getActiveSheet()->addChart($chart);
?>

1 个答案:

答案 0 :(得分:0)

我自己找到了答案:

我必须在PHPExcel_Chart_DataSeries的构造函数中将 plotGrouping - 参数从GROUPING_STACKED更改为 GROUPING_STANDARD

$series = new PHPExcel_Chart_DataSeries(
PHPExcel_Chart_DataSeries::TYPE_LINECHART,      // plotType
PHPExcel_Chart_DataSeries::GROUPING_STANDARD,    // plotGrouping
range(0, count($dataSeriesValues)-1),           // plotOrder
NULL,                               // plotLabel
NULL,                               // plotCategory
$dataSeriesValues                               // plotValues);

然后空单元格显示为间隙。