Windows 7:"Excel发现不可读的内容"

kag*_*kag 7 windows-7 phpexcel

我正在使用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

还有其他人经历过这个吗?

Mar*_*ker 2

如果这是您从 MS 支持站点突出显示的问题,那么它被锁定在 PHP_OLE 内部的某个位置,可能在 PHPExcel_Shared_OLE_PPS_File 类中。我已在 PHPExcel 网站上将此问题作为问题 15508提出,并将尝试在周末在 Windows 7 机器上运行一些调试。

不保证快速解决:但你给了我一个关于如何尝试重现问题以及在哪里查找的指示。