PHPExcel无法复制Style对象
发布时间:2020-12-13 16:05:07 所属栏目:PHP教程 来源:网络整理
导读:我想将单元格样式复制到数组而不是使用 $arr = array();$arr[] = $PHPExcel-getActiveSheet()-getStyle('A1');$arr[] = $PHPExcel-getActiveSheet()-getStyle('B1');$arr[] = $PHPExcel-getActiveSheet()-getStyle('C1');//do smth .... $PHPExcel-getActive
我想将单元格样式复制到数组而不是使用
$arr = array(); $arr[] = $PHPExcel->getActiveSheet()->getStyle('A1'); $arr[] = $PHPExcel->getActiveSheet()->getStyle('B1'); $arr[] = $PHPExcel->getActiveSheet()->getStyle('C1'); //do smth .... $PHPExcel->getActiveSheet()->duplicateStyle($arr[0],'A2'); $PHPExcel->getActiveSheet()->duplicateStyle($arr[1],'B2'); $PHPExcel->getActiveSheet()->duplicateStyle($arr[2],'C2'); 但所有单元格A2,B2,C2都与C1相同. 解决方法
解决方案1:请使用
github的最新版PHPExcel
解决方案2: if ($this->_parent->cellXfExists($pCellStyle)) { // there is already this cell Xf in our collection $xfIndex = $pCellStyle->getIndex(); } else { // we don't have such a cell Xf,need to add $workbook->addCellXf($pCellStyle); $xfIndex = $pCellStyle->getIndex(); } 改成: if ($existingStyle = $this->_parent->getCellXfByHashCode($pCellStyle- >getHashCode())) { // there is already such cell Xf in our collection $xfIndex = $existingStyle->getIndex(); } else { // we don't have such a cell Xf,need to add $workbook->addCellXf($pCellStyle); $xfIndex = $pCellStyle->getIndex(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |