Странные метки на легенде

Сегодня я работаю с phpexcel, чтобы сгенерировать гистограмму в моих файлах. Тем не менее, я не получаю ожидаемых ярлыков на моей легенде, кроме первой:

Плохие ярлыки на легенде

Я не понимаю, потому что я поставил правильный диапазон в моем массиве меток данных. Только первая метка верна, но другие по умолчанию "Series2, Serie3, ..."

Это мой код:

// Each worksheet
foreach($tab_calcul as $calcul => $bool){

$tab_length_lig = ${"worksheet_$calcul"}->getHighestRow();
$tab_length_col = PHPExcel_Cell::columnIndexFromString(${"worksheet_$calcul"}->getHighestColumn())-1;

///////////////////////////////////////////////////////////////////////
////////////////      DATASERIES BY SHOP       ////////////////////////
///////////////////////////////////////////////////////////////////////

// Shop labels
$dataseriesLabels = array(
    new PHPExcel_Chart_DataSeriesValues('String', '$calcul!$A$4:$A$'.($tab_length_lig-1), NULL, $nb_enseigne)
);

// Dates
$xAxisTickValues = array(
    new PHPExcel_Chart_DataSeriesValues('String', '$calcul!$C$3:$'.ch2al($tab_length_col).'$3', NULL, $nb_synthese)
);

// Values
$dataSeriesValues = array();
$cpt = 3;

for($i = 0; $i < count($tab_enseigne); $i++) {

    $cpt++;
    array_push($dataSeriesValues, new PHPExcel_Chart_DataSeriesValues('Number', '$calcul!$C$'.$cpt.':$'.ch2al($tab_length_col).'$'.$cpt, NULL, $nb_synthese));
}

//  Build the dataseries
$series = new PHPExcel_Chart_DataSeries(
    PHPExcel_Chart_DataSeries::TYPE_BARCHART,       // plotType
    PHPExcel_Chart_DataSeries::GROUPING_STANDARD  ,  // plotGrouping
    range(0, count($dataSeriesValues)-1),           // plotOrder
    $dataseriesLabels,                              // plotLabel
    $xAxisTickValues,                               // plotCategory
    $dataSeriesValues                               // plotValues
);

$series->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_COLUMN);

///////////////////////////////////////////////////////////////////////
///////////////       DATASERIES ALL SHOPS        /////////////////////
///////////////////////////////////////////////////////////////////////

// Label all shops
$dataseriesLabels2 = array(
    new PHPExcel_Chart_DataSeriesValues('String', '$calcul!$A$'.($tab_length_lig), NULL, 1)
);

// Values
$dataSeriesValues2 = array(
    new PHPExcel_Chart_DataSeriesValues('Number', '$calcul!$C$'.$tab_length_lig.':$'.ch2al($tab_length_col).'$'.$tab_length_lig, NULL, $nb_synthese)
);

//  Build the dataseries
$series2 = new PHPExcel_Chart_DataSeries(
    PHPExcel_Chart_DataSeries::TYPE_LINECHART,       // plotType
    PHPExcel_Chart_DataSeries::GROUPING_STANDARD  ,  // plotGrouping
    range(0, count($dataSeriesValues2)-1),           // plotOrder
    $dataseriesLabels2,                              // plotLabel
    $xAxisTickValues,                               // plotCategory
    $dataSeriesValues2                               // plotValues
);

/////////////////////////////////////////////////////////////////////////

//  Set the series in the plot area
$plotarea = new PHPExcel_Chart_PlotArea(NULL, array($series, $series2));
//  Set the chart legend
$legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, NULL, false);

$title = new PHPExcel_Chart_Title('Graphe '.$calcul." : ".utf8_encode($tab_data[$rmookid_periode]["marque"]." - ".$tab_data[$rmookid_periode]["modele"]." - ".$tab_data[$rmookid_periode]["ean"]));

//  Create the chart
$chart = new PHPExcel_Chart(
    'chart1',       // name
    $title,         // title
    $legend,        // legend
    $plotarea,      // plotArea
    true,           // plotVisibleOnly
    0,              // displayBlanksAs
    NULL,           // xAxisLabel
    NULL     // yAxisLabel
);

//  Set the position where the chart should appear in the worksheet
$chart->setTopLeftPosition('A17');
$chart->setBottomRightPosition('K30');

//  Add the chart to the worksheet
${"worksheet_$calcul"}->addChart($chart);
}

заранее спасибо

1 ответ

Я починил это. Было огромной ошибкой помещать $calcul в простую цитату:

'$calcul!$A$'.($tab_length_lig)

Должно быть:

$calcul.'!$A$'.($tab_length_lig)
Другие вопросы по тегам