| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 | <?phpnamespace PhpOffice\PhpSpreadsheet\Writer;abstract class BaseWriter implements IWriter{    /**     * Write charts that are defined in the workbook?     * Identifies whether the Writer should write definitions for any charts that exist in the PhpSpreadsheet object;.     *     * @var bool     */    protected $includeCharts = false;    /**     * Pre-calculate formulas     * Forces PhpSpreadsheet to recalculate all formulae in a workbook when saving, so that the pre-calculated values are     * immediately available to MS Excel or other office spreadsheet viewer when opening the file.     *     * @var bool     */    protected $preCalculateFormulas = true;    /**     * Use disk caching where possible?     *     * @var bool     */    private $useDiskCaching = false;    /**     * Disk caching directory.     *     * @var string     */    private $diskCachingDirectory = './';    /**     * Write charts in workbook?     *        If this is true, then the Writer will write definitions for any charts that exist in the PhpSpreadsheet object.     *        If false (the default) it will ignore any charts defined in the PhpSpreadsheet object.     *     * @return bool     */    public function getIncludeCharts()    {        return $this->includeCharts;    }    /**     * Set write charts in workbook     *        Set to true, to advise the Writer to include any charts that exist in the PhpSpreadsheet object.     *        Set to false (the default) to ignore charts.     *     * @param bool $pValue     *     * @return IWriter     */    public function setIncludeCharts($pValue)    {        $this->includeCharts = (bool) $pValue;        return $this;    }    /**     * Get Pre-Calculate Formulas flag     *     If this is true (the default), then the writer will recalculate all formulae in a workbook when saving,     *        so that the pre-calculated values are immediately available to MS Excel or other office spreadsheet     *        viewer when opening the file     *     If false, then formulae are not calculated on save. This is faster for saving in PhpSpreadsheet, but slower     *        when opening the resulting file in MS Excel, because Excel has to recalculate the formulae itself.     *     * @return bool     */    public function getPreCalculateFormulas()    {        return $this->preCalculateFormulas;    }    /**     * Set Pre-Calculate Formulas     *        Set to true (the default) to advise the Writer to calculate all formulae on save     *        Set to false to prevent precalculation of formulae on save.     *     * @param bool $pValue Pre-Calculate Formulas?     *     * @return IWriter     */    public function setPreCalculateFormulas($pValue)    {        $this->preCalculateFormulas = (bool) $pValue;        return $this;    }    /**     * Get use disk caching where possible?     *     * @return bool     */    public function getUseDiskCaching()    {        return $this->useDiskCaching;    }    /**     * Set use disk caching where possible?     *     * @param bool $pValue     * @param string $pDirectory Disk caching directory     *     * @throws Exception when directory does not exist     *     * @return IWriter     */    public function setUseDiskCaching($pValue, $pDirectory = null)    {        $this->useDiskCaching = $pValue;        if ($pDirectory !== null) {            if (is_dir($pDirectory)) {                $this->diskCachingDirectory = $pDirectory;            } else {                throw new Exception("Directory does not exist: $pDirectory");            }        }        return $this;    }    /**     * Get disk caching directory.     *     * @return string     */    public function getDiskCachingDirectory()    {        return $this->diskCachingDirectory;    }}
 |