Подтвердить что ты не робот

Условное форматирование, потерянное при сохранении

Я пытаюсь создать простую установку для загрузки шаблона, вставки некоторых данных и сохранения в качестве нового файла. Однако мне нужно некоторое условное форматирование в некоторых ячейках, и когда я получаю вновь созданные файлы, условное форматирование отсутствует. Это не отменяется каким-либо другим форматированием, правила отсутствуют в меню условного форматирования. Я использую PHP 5.2, PHPExcel 1.7.8 и Excel 2010.

<?php
class template {
    static $objPHPExcel;
    function __construct() {
        define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />');
        require_once '../Classes/PHPExcel/IOFactory.php';
        if (!file_exists("template.xlsx")) {
            exit("template missing." . EOL);
        }
        echo date('H:i:s') , " Load from Excel2007 file" , EOL;
        $objReader = PHPExcel_IOFactory::createReader('Excel2007');
        $objReader->setReadDataOnly(false);
        self::$objPHPExcel = $objReader->load("template.xlsx");
    }
    function insertdata($dataArray){ /* unused */ }
    function save($name){
        define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />');
        require_once '../Classes/PHPExcel/IOFactory.php';
        echo date('H:i:s') , " Write to Excel2007 format" , EOL;
        $objWriter = PHPExcel_IOFactory::createWriter(self::$objPHPExcel, 'Excel2007');
        $objWriter->save($name);
        echo date('H:i:s') , " File written to: ".$name , EOL;
    }
$temp=new template();
$temp->save("savethis.xlsx");

Я пытаюсь сохранить цветовую шкалу Graded 2 (форматирование на основе значений ячейки, Minimum - тип Number = 1, Maximum - тип Number = 10). Соответствующая ячейка имеет формулу, которая ссылается на другой лист (все данные были сохранены правильно).

4b9b3361

Ответ 1

Я обнаружил, что безнадежно читать, изменять и сохранять файл XLS/XLSX, получая "автоматический фильтр", "Проверка данных" и "Условный формат" из исходного файла, окончательное решение, которое я нашел, - это сделать шаблон с использованием библиотеки PHPExcel.

К сожалению, как было сказано на другом ответе (fooobar.com/info/538631/...):

PHPExcel не является библиотекой для "редактирования" файлов книг: вы не используете PHPExcel для изменения файла, вы меняете объект PHPExcel, который может быть загружен из файла, и впоследствии его можно записать в файл.

Меня удивляет, что что-то вроде "редактирования" файла Excel с использованием шаблона только с проверкой данных, условным формированием и автоматическим фильтром невозможно, но я понимаю.