简体   繁体   中英

PHPExcel saving xlsx to xls, some cells are blank

I have code for converting xls to xlsx via PHPExcel:

$objPHPexcel = PHPExcel_IOFactory::load('file.xlsx');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPexcel, 'Excel5');
$objWriter->save('new_file.xls');

But when I open created xls file some cells are empty. What could be the problem? Thanks!

Link to download original xlsx file

you should use one of following as formate type.

1)Excel5 -> file format between Excel Version 95 to 2003
2)Excel2003XML -> file format for Excel 2003
3)Excel2007 -> file format for Excel 2007

and add following line at line no.3 in your code before save file statement.

$fileType=PHPExcel_IOFactory::identify("file.xlsx"); //We can get file reader type automatically using

it generate file as per your requirement.

I do notice that some of these cells contain references to external files, eg cell A23 contains

='[Форма 1-2 от 15.12 ЯНВАРЬ екат.xls]НТТЗМ'!A77

Logically, PHPExcel can't simply access that external file ( Форма 1-2 от 15.12 ЯНВАРЬ екат.xls ) to retrieve data; nor can it handle references to external files... the file may not even exist; and if it did, there is a major overhead in loading (recursively) every external file that might be referenced in formulae.

While you haven't indicated which cells might be blank in the newly saved file, it would be my guess that they're the cells that contain these external file references

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM