저는이 문제에 대해 오래 동안 고생했습니다. 나는 아직도 길을 이해할 수없는 것처럼 보입니다. 나는 PHPExcel의 piechart 예제를 얻을 수 없었다. 33 chartcreate-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으로 바 꾸었습니다.하지만 아직 아무것도 얻지 못했습니다. 사실, 나는 내 보낸 .XLS에 .XLSX에서 확장자를 변경 할 때, 나는 다음과 같은 오류가 발생합니다 : <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