我一直在這個問題上停留了一段時間。我似乎仍然無法弄清楚方式。我無法獲得PHPExcel的餅圖示例,33chartcreate-pie.php。我到處搜索,但我似乎無法找到一個好的答案,所以我決定自己提問。從給出的例子中,我試過這個..我使用Codeigniter,所以我加載庫$this->load->library('excel')
。PHPExcel餅圖
$dataseriesLabel1 = array(
new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1),
);
$xAxisTickValues1 = array(
new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$5', NULL, 4),
);
$dataSeriesValues1 = array(
new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$5', NULL, 4),
);
$series1 = new PHPExcel_Chart_DataSeries(
PHPExcel_Chart_DataSeries::TYPE_PIECHART,
PHPExcel_Chart_DataSeries::GROUPING_STANDARD,
range(0, count($dataSeriesValues1)-1),
$dataseriesLabels1,
$xAxisTickValues1,
$dataSeriesValues1
);
$layout1 = new PHPExcel_Chart_Layout();
$layout1->setShowVal(TRUE);
$layout1->setShowPercent(TRUE);
$plotarea1 = new PHPExcel_Chart_PlotArea($layout1, array($series1));
$legend1 = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, NULL, false);
$title1 = new PHPExcel_Chart_Title('Test Pie Chart');
$chart1 = new PHPExcel_Chart(
'chart1',
$title1,
$legend1,
$plotarea1,
true,
0,
NULL,
NULL
);
$chart1->setTopLeftPosition('A7');
$chart1->setBottomRightPosition('H20');
$this->excel->getActiveSheet()->addChart($chart1);
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content_Disposition: attachment;filename="Report"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'Excel2007');
$objWriter->setIncludeCharts(TRUE);
$objWriter->save('php://output');
起初,我沒有得到任何輸出,然後我發現我是用Excel5。所以,我改變了類型Excel2007,但我仍然沒有得到任何東西。事實上,當我出口和的.xlsx擴展更改爲的.xls,我得到以下錯誤: <b>Fatal error</b>: Call to a member function cellExists() on a non-object in <b>path\application\third_party\PHPExcel\Calculation.php</b> on line <b>3327</b><br />
我會很感激的幫助。謝謝你看這個。我希望一切都很清楚。
考慮在反引號(\')中包裝代碼塊會使代碼清除 – urban