我正在使用PHPExcel生成一个非常简单的.xls文件(PHPExcel_IOFactory::createWriter($PHPExcel, 'Excel5')).每当使用Excel 2010或2007在Windows 7上打开该文件时,我都会收到以下错误:
Excel在"XXXXXXX.xls"中找到了不可读的内容.你想恢复这个工作簿的内容吗?如果您信任此工作簿的来源,请单击"是".
当我在Windows XP中的Excel 2010中打开相同的文件时,它工作正常.如果我在OpenOffice中打开相同的文件,它无论操作系统如何都可以.
Windows 7/Excel 2010:错误
Windows 7/Excel 2007:错误
Windows XP/Excel 2010:Works
Windows XP/Excel 2007:正常工作
任何/ OpenOffice:工作
当我告诉PHPExcel生成.xlsx文件(PHPExcel_IOFactory::createWriter($PHPExcel, 'Excel2007'))时,它适用于所有上述组合.
我在MS论坛上发现了无数的线程,它似乎只影响第三方库(不仅仅是PHPExcel)生成的Excel文件的Windows 7文件.但没有人有解决方案.
我还发现了以下MS KB文章,但我不熟悉基础Excel规范:http://support.microsoft.com/kb/2411912
还有其他人经历过这个吗?