イムラベル...PhpOffice/PhpWordチャート - カントショー軸、グリッド、PhpOffice/PhpWordからSample_32_Chart.phpを使用して
それは働いているが、私は私のチャートは軸、シリーズ、ラベル、タイトルを得ることが大好きです、など...それらに。
は、ドキュメント http://phpoffice.github.io/PHPWord/docs/master/classes/PhpOffice.PhpWord.Element.Chart.html
に探してみました。しかし、私のニーズにどの近いものはありません。
何か助けが素晴らしいだろう。
Sample_32_Chart.phpあるいくつかのコード
<?php
include_once 'Sample_Header.php';
use PhpOffice\PhpWord\Shared\Converter;
// New Word document
echo date('H:i:s'), ' Create new PhpWord object', EOL;
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$phpWord->addTitleStyle(1, array('size' => 14, 'bold' => true), array('keepNext' => true, 'spaceBefore' => 240));
$phpWord->addTitleStyle(2, array('size' => 14, 'bold' => true), array('keepNext' => true, 'spaceBefore' => 240));
// 2D charts
$section = $phpWord->addSection();
$section->addTitle(htmlspecialchars('2D charts', ENT_COMPAT, 'UTF-8'), 1);
$section = $phpWord->addSection(array('colsNum' => 2, 'breakType' => 'continuous'));
$chartTypes = array('pie', 'doughnut', 'bar', 'column', 'line', 'area', 'scatter', 'radar');
$twoSeries = array('bar', 'column', 'line', 'area', 'scatter', 'radar');
$threeSeries = array('bar', 'line');
$categories = array('A', 'B', 'C', 'D', 'E');
$series1 = array(1, 3, 2, 5, 4);
$series2 = array(3, 1, 7, 2, 6);
$series3 = array(8, 3, 2, 5, 4);
foreach ($chartTypes as $chartType) {
$section->addTitle(ucfirst($chartType), 2);
$chart = $section->addChart($chartType, $categories, $series1);
$chart->getStyle()->setWidth(Converter::inchToEmu(2.5))->setHeight(Converter::inchToEmu(2));
if (in_array($chartType, $twoSeries)) {
$chart->addSeries($categories, $series2);
}
if (in_array($chartType, $threeSeries)) {
$chart->addSeries($categories, $series3);
}
$section->addTextBreak();
}
// 3D charts
$section = $phpWord->addSection(array('breakType' => 'continuous'));
$section->addTitle(htmlspecialchars('3D charts', ENT_COMPAT, 'UTF-8'), 1);
$section = $phpWord->addSection(array('colsNum' => 2, 'breakType' => 'continuous'));
$chartTypes = array('pie', 'bar', 'column', 'line', 'area');
$multiSeries = array('bar', 'column', 'line', 'area');
$style = array('width' => Converter::cmToEmu(5), 'height' => Converter::cmToEmu(4), '3d' => true);
foreach ($chartTypes as $chartType) {
$section->addTitle(ucfirst($chartType), 2);
$chart = $section->addChart($chartType, $categories, $series1, $style);
if (in_array($chartType, $multiSeries)) {
$chart->addSeries($categories, $series2);
$chart->addSeries($categories, $series3);
}
$section->addTextBreak();
}
// Save file
echo write($phpWord, basename(__FILE__, '.php'), $writers);
if (!CLI) {
include_once 'Sample_Footer.php';
}
、このリンクでは、私は誰かがすでに追加始めるこの機能について話しますが、それらを使用する方法を知らないい。事前に
https://github.com/PHPOffice/PHPWord/pull/576
ありがとう!
Alberto、PHPWordのチャートに軸、シリーズ、ラベル、タイトルなどを追加する方法を理解しましたか? – PHPDave
残念ながら@PHPDaveはありません。代わりにPHPExcelに行きました。それを使って見栄えの良いチャートを得ました。 –
驚くばかりです。その後、PHPExcelからチャートをエクスポートしてPHPWordにインポートしましたか?私はXMLで移植し、手動でデータシリーズを追加することを検討しています – PHPDave