34_Chart_update.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XlsxReader;
  3. use PhpOffice\PhpSpreadsheet\Writer\Xlsx as XlsxWriter;
  4. require __DIR__ . '/../Header.php';
  5. // Create temporary file that will be read
  6. $sampleSpreadsheet = require __DIR__ . '/../templates/chartSpreadsheet.php';
  7. $filename = $helper->getTemporaryFilename();
  8. $writer = new XlsxWriter($sampleSpreadsheet);
  9. $writer->setIncludeCharts(true);
  10. $writer->save($filename);
  11. $helper->log('Load from Xlsx file');
  12. $reader = new XlsxReader();
  13. $reader->setIncludeCharts(true);
  14. $spreadsheet = $reader->load($filename);
  15. unlink($filename);
  16. $helper->log('Update cell data values that are displayed in the chart');
  17. $worksheet = $spreadsheet->getActiveSheet();
  18. $worksheet->fromArray(
  19. [
  20. [50 - 12, 50 - 15, 50 - 21],
  21. [50 - 56, 50 - 73, 50 - 86],
  22. [50 - 52, 50 - 61, 50 - 69],
  23. [50 - 30, 50 - 32, 50],
  24. ],
  25. null,
  26. 'B2'
  27. );
  28. // Save Excel 2007 file
  29. $filename = $helper->getFilename(__FILE__);
  30. $writer = new XlsxWriter($spreadsheet);
  31. $writer->setIncludeCharts(true);
  32. $callStartTime = microtime(true);
  33. $writer->save($filename);
  34. $helper->logWrite($writer, $filename, $callStartTime);