问题描述
这个 PHPExcel 类很棒。现在想把修改了单元格值的Excel文件保存,另存为新文件,但是保存了一个工作表的单元格设置值后,发现我以前的excel文件所有引用都是REF是错误的,有吗有什么办法可以解决这个问题?
<?PHP
ini_set("error_reporting","E_ALL & ~E_NOTICE");
include "../PHPExcel/Classes/PHPExcel.PHP";
$filename = "template.xls";
if (!file_exists($filename)) {
echo "-1";return;
}
$PHPReader = new PHPExcel_Reader_Excel2007();
if(!$PHPReader->canRead($filename)){
$PHPReader = new PHPExcel_Reader_Excel5();
if(!$PHPReader->canRead($filename)){
echo '无法识别的Excel文件!';
return false;
}
}
//$PHPReader->setReadDataOnly(true); #
$objPHPExcelReader = $PHPReader->load($filename);
$sheet = $objPHPExcelReader->getSheet(0); //
$array = [1,2,3,4,5,6,7,8,9,10,11];
$start = "A7";
$highestRow = 56;
for ($i=0; $i <count($array) ; $i++) {
$lastChar=to26Char($i);
$letter[]=$lastChar;
}
$cell = [];
$cell[] = $sheet->getCell("A7")->getValue();
//$sheet->setCellValue("B8",1);
$sheet->setCellValueExplicit("B8",1);
var_dump($cell);
//$objPHPExcelReader->save($filename);//
$PHPWriter = new PHPExcel_Writer_Excel2007($objPHPExcelReader);
$PHPWriter->setPreCalculateFormulas(false);
$PHPWriter->setoffice2003Compatibility(true);
$PHPWriter->save($filename);
function to26Char($x)
{
$worda=array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
if ($x == 0)
return 'A';
$a =intval( $x / 26);
$b = $x % 26;
$word=$worda[$b];
$pre=$a>0?to26Char($a-1):'';
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)