Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 3.9.x will end* 10 May 2021 (12 months).
  • Bug fixes for security issues in 3.9.x will end* 8 May 2023 (36 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.

Differences Between: [Versions 39 and 311] [Versions 39 and 400] [Versions 39 and 401] [Versions 39 and 402] [Versions 39 and 403]

   1  <?php
   2  
   3  namespace PhpOffice\PhpSpreadsheet\Writer;
   4  
   5  use PhpOffice\PhpSpreadsheet\Spreadsheet;
   6  
   7  interface IWriter
   8  {
   9      /**
  10       * IWriter constructor.
  11       *
  12       * @param Spreadsheet $spreadsheet
  13       */
  14      public function __construct(Spreadsheet $spreadsheet);
  15  
  16      /**
  17       * Write charts in workbook?
  18       *        If this is true, then the Writer will write definitions for any charts that exist in the PhpSpreadsheet object.
  19       *        If false (the default) it will ignore any charts defined in the PhpSpreadsheet object.
  20       *
  21       * @return bool
  22       */
  23      public function getIncludeCharts();
  24  
  25      /**
  26       * Set write charts in workbook
  27       *        Set to true, to advise the Writer to include any charts that exist in the PhpSpreadsheet object.
  28       *        Set to false (the default) to ignore charts.
  29       *
  30       * @param bool $pValue
  31       *
  32       * @return IWriter
  33       */
  34      public function setIncludeCharts($pValue);
  35  
  36      /**
  37       * Get Pre-Calculate Formulas flag
  38       *     If this is true (the default), then the writer will recalculate all formulae in a workbook when saving,
  39       *        so that the pre-calculated values are immediately available to MS Excel or other office spreadsheet
  40       *        viewer when opening the file
  41       *     If false, then formulae are not calculated on save. This is faster for saving in PhpSpreadsheet, but slower
  42       *        when opening the resulting file in MS Excel, because Excel has to recalculate the formulae itself.
  43       *
  44       * @return bool
  45       */
  46      public function getPreCalculateFormulas();
  47  
  48      /**
  49       * Set Pre-Calculate Formulas
  50       *        Set to true (the default) to advise the Writer to calculate all formulae on save
  51       *        Set to false to prevent precalculation of formulae on save.
  52       *
  53       * @param bool $pValue Pre-Calculate Formulas?
  54       *
  55       * @return IWriter
  56       */
  57      public function setPreCalculateFormulas($pValue);
  58  
  59      /**
  60       * Save PhpSpreadsheet to file.
  61       *
  62       * @param string $pFilename Name of the file to save
  63       *
  64       * @throws \PhpOffice\PhpSpreadsheet\Writer\Exception
  65       */
  66      public function save($pFilename);
  67  
  68      /**
  69       * Get use disk caching where possible?
  70       *
  71       * @return bool
  72       */
  73      public function getUseDiskCaching();
  74  
  75      /**
  76       * Set use disk caching where possible?
  77       *
  78       * @param bool $pValue
  79       * @param string $pDirectory Disk caching directory
  80       *
  81       * @throws Exception when directory does not exist
  82       *
  83       * @return IWriter
  84       */
  85      public function setUseDiskCaching($pValue, $pDirectory = null);
  86  
  87      /**
  88       * Get disk caching directory.
  89       *
  90       * @return string
  91       */
  92      public function getDiskCachingDirectory();
  93  }