0

我目前正在做一个需要在线创建PowerPoint的项目。我为此使用https://github.com/PHPOffice/PHPPresentation 。除了生成图表外,几乎所有东西都能完美运行。当我打开PowerPoint时,它说它需要修复。修复后所有内容都丢失了。

我想知道是否有其他人有同样的问题,可以帮助我解决这个问题。

我试过的代码:

    $oPHPPresentation = new PhpPresentation();
    $currentSlide = $oPHPPresentation->createSlide();
    $currentSlide->setName('Title of the slide');
    $lineChart = new Line();


    $seriesData = array('Monday' => 18, 'Tuesday' => 23, 'Wednesday' => 14, 'Thursday' => 12, 'Friday' => 20, 'Saturday' => 8, 'Sunday' => 10);
    $series = new Series('example', $seriesData);
    $series->setShowValue(false);
    $series->setShowPercentage(true); // This does nothing
    $series->setDlblNumFormat('0.00%'); // This does nothing

    $lineChart->addSeries($series);
    $shape = $currentSlide->createChartShape();
    $shape->getPlotArea()->setType($lineChart);

    $oWriterPPTX = IOFactory::createWriter($oPHPPresentation, 'PowerPoint2007');
    $oWriterPPTX->save(__DIR__ . "/sample.pptx");

包:https
://github.com/PHPOffice/PHPPresentation 框架:Laravel 5.1
php版本:7.0

提前致谢

4

1 回答 1

1

要使图表正常工作,您必须处理以下内容:

转到库下的 src 文件夹并打开文件“pptcharts”。并将所有“%”符号从 'val' 和 'pos' 中移开。一般搜索所有“%”符号并将其替换为“”空字符串。在“ppttheme”中做同样的事情。并在 ppt 图表行号 102 中删除末尾的 % 符号。让我知道它是否有效。

于 2017-12-14T08:41:25.577 回答