我对PHPExcel有问题。我已经读过这个问题:
如何在symfony2 中使用PHPExcel修改excel文件
因为一开始那就是我的问题。但我已经做了Abhishek Jaiswal说的一切。。。我又遇到一个问题。也许我做了坏事,因为这个答案很合理。
好的,关于代码:
$excelReader = 'PHPExcel_IOFactory::createReader('Excel2007');
$excelObj = $excelReader->load($path.$filename);
for ($i = 3; $i <= 30; $i++) {
$excelObj->setActiveSheetIndex(0)->setCellValue('O'.$i, 'tytyty')->
setCellValue('P'.$i, $company->getFullName())->
setCellValue('Q'.$i, $company->getAddress())->
setCellValue('S'.$i, $company->getAddressAddition())->
setCellValue('T'.$i, $company->getPostalCode())->
setCellValue('U'.$i, $company->getCity())->
setCellValue('V'.$i, $entity->__toString())->
setCellValue('W'.$i, $entity->getPhone())->
setCellValue('X'.$i, $entity->getInternalPhoneNumber())->
setCellValue('Y'.$i, $entity->getEmail());
}
$excelObj->setActiveSheetIndex(0);
$excelWriter = 'PHPExcel_IOFactory::createWriter($excelObj, 'Excel2007');
$excelWriter->save($path . $new_filename);
当我查看保存的文件时,在编辑过的工作表上,我得到了从31行开始的工作表(这是第一个未编辑的行,也是第一个没有格式化的工作表)。事实上,它看起来也坏了,因为当我在LibreOffice中打开它时,我看不到行,只看到右边的数字。
我很确定,我加载的xlsx很好,因为我试图从中转储数据,我得到了我所期望的。
好的。。。我找到了。我重复了上面的测试,但有一点不同。我用了Microsoft Office来创建文件。看来,自由办公室在2007/2010年的格式上存在一些问题。
使用MO文件一切都很好。