2017-03-02 20 views
6

PHPExcel-1.8から33chartcreate-pie.phpを使用し、必要に応じて変更しました。今の例ではx軸の値が好きです。PHPExcelチャートで静的なワークシートデータを送信する方法

$xAxisTickValues1 = array(
new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$5', NULL, 4), // Q1 to Q4 
); 

は今、私は、私は

$xAxisTickValues1 = array(
new PHPExcel_Chart_DataSeriesValues('String', 'PASS:FAIL', NULL, 2), // Q1 to Q4 
); 

のようにそれを試してみたが、それが動作していない静的PASSとFAILとして追加します。どのようにその配列静的な値を置く?

答えて

2

あなたが従う例:

ここ
$xAxisTickValues1 = array(
new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$5', NULL, 4), // Q1 to Q4 
); 

ワークシートは、シートのタイトルです。したがって、グラフをプロットしている間は、指定されたタイトルから値が読み込まれ、A2からA5の列が続きます。

静的な値を追加するだけの場合は、静的コンテンツを含むセルを作成し、セルインデックスをデータ系列値に渡します。

1

静的ラベルをグラフまたはPIEチャートに表示するには、セルに静的ラベルを表示する必要があります。 グラフをプロットする際に、setShowVal、setShowCatNameなどの関数を使用してラベルや値を表示/非表示にすることができます。

$objPHPExcel = new PHPExcel(); 
    $objWorksheet = $objPHPExcel->getActiveSheet(); 
    $objWorksheet->fromArray(
    array(
     array('', 2010, 2011, 2012), 
     array('PASS', 12, 15,  21), 
     array('FAIL', 56, 73,  86) 
    ) 
); 

    $dataSeriesLabels1 = array(
    new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1), // 2011 
); 

    $xAxisTickValues1 = array(
    new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$3', NULL, 2), // Q1 to Q4 
); 

    $dataSeriesValues1 = array(
    new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$3', NULL, 2), 
); 

    // Build the dataseries 
    $series1 = new PHPExcel_Chart_DataSeries(
    PHPExcel_Chart_DataSeries::TYPE_PIECHART,    // plotType 
    NULL,             // plotGrouping (Pie charts don't have any grouping) 
    range(0, count($dataSeriesValues1)-1),     // plotOrder 
    $dataSeriesLabels1,          // plotLabel 
    $xAxisTickValues1,          // plotCategory 
    $dataSeriesValues1          // plotValues 
); 

    // Set up a layout object for the Pie chart 
    $layout1 = new PHPExcel_Chart_Layout(); 
    /*$layout1->setShowVal(TRUE);*/ 
    $layout1->setShowCatName(TRUE); 

    // Set the series in the plot area 
    $plotArea1 = new PHPExcel_Chart_PlotArea($layout1, array($series1)); 
    // Set the chart legend 
    $legend1 = new  PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, NULL, false); 

    $title1 = new PHPExcel_Chart_Title('Test Pie Chart'); 


    // Create the chart 
    $chart1 = new PHPExcel_Chart(
    'chart1',  // name 
    $title1,  // title 
    $legend1,  // legend 
    $plotArea1,  // plotArea 
    true,   // plotVisibleOnly 
    0,    // displayBlanksAs 
    NULL,   // xAxisLabel 
    NULL   // yAxisLabel  - Pie charts don't have a Y-Axis 
    ); 
1

array(
     array('', 2010, 2011, 2012), 
     array('Q1', 12, 15,  21), 
     array('Pass or fail', 56, 73, 86) 
     ) 

のような宣言のあなたの配列を変更します。これは静的な値を設定する方法です。 これを表示するには、レイアウトにプロパティを追加して、グラフのカテゴリ名を表示することができます。->setShowCatName(TRUE);

関連する問題