加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

phpexcel – 条件格式在保存时丢失

发布时间:2020-12-13 16:30:42 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试创建一个简单的设置来加载模板,插入一些数据并保存为新文件.然而,我需要一些条件格式化的一些单元格,当我得到新创建的文件条件格式化缺失.它不会被某些其他格式化覆盖,条件格式菜单中缺少规则.我使用 PHP 5.2,PHPExcel 1.7.8和Excel 2010. ?phpcla
我正在尝试创建一个简单的设置来加载模板,插入一些数据并保存为新文件.然而,我需要一些条件格式化的一些单元格,当我得到新创建的文件条件格式化缺失.它不会被某些其他格式化覆盖,条件格式菜单中缺少规则.我使用 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");

我试图保留一个分级2颜色比例(基于单元格的格式,最小值是Number = 1,Maximum is type Number = 10).所涉及的单元格具有引用另一个工作表的所有公式(所有数据都已正确保存).

我发现,从原始文件中获取“自动过滤器”,“数据验证”和“条件格式”的XLS / XLSX文件,我发现无法阅读,修改和保存,我发现的最终解决方案是使模板使用PHPExcel库.

可悲的是,正如另一个答案(https://stackoverflow.com/a/13172890/218418)所述:

PHPExcel is not a library for “editing” workbook files: you’re not using PHPExcel to change a file,you’re changing a PHPExcel object that can be loaded from a file,and can subsequently be written to a file.

我很开心,像“编辑”一个Excel文件,使用模板只是数据验证,条件格式化和自动过滤是不可能的,但我明白.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读