我正在尝试创建一个简单的设置来加载模板,插入一些数据并保存为新文件.但是我需要在某些单元格上进行一些条件格式化,当我得到新创建的文件时,缺少条件格式.它没有被其他格式覆盖,条件格式菜单中缺少规则.我使用的是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");
Run Code Online (Sandbox Code Playgroud)
我正在尝试保留Graded 2色标(格式基于单元格值,Minimum是类型Number = 1,Maximum是类型Number = 10).有问题的单元格附有一个参考另一张表格的公式(所有数据都已正确保存).
我发现从原始文件中读取、修改和保存 XLS/XLSX 文件获取“自动过滤器”、“数据验证”和“条件格式”是不可能的,我找到的最终解决方案是使用PHPExcel 库。
可悲的是,正如另一个答案( /sf/answers/922102331/ )所述:
PHPExcel 不是用于“编辑”工作簿文件的库:您不是使用 PHPExcel 来更改文件,而是更改可以从文件加载并随后写入文件的 PHPExcel 对象。
我很有趣的是,使用仅包含数据验证、条件格式和自动筛选的模板“编辑”Excel 文件之类的操作是不可能的,但我理解。
| 归档时间: |
|
| 查看次数: |
1826 次 |
| 最近记录: |