debugging到Excel中的提示

我有一个库,可以将VCL网格的内容导出为XLS格式。 (不知道哪个版本的XLS格式;这是问题的一部分)它通常工作得很好,但在某些情况下,当我打开Excel 2007中导出该库的XLS,它说:“Excel中发现不可读的内容'[myfile.xls]'。你想恢复这个工作簿的内容吗?“

它能够正确地恢复它,所以无论问题是什么,都不是那么严重,但是我有一段时间来搞清楚问题所在 。 我不能做任何简单的事情,比如在debugging器下运行Excel,因为它是专有软件。 我已经尝试将修正后的版本保存为各种版本的XLS并区分这两个文件,但是我从来没有发现任何与原始文件格式类似的东西。 当恢复完成时,它给了我一个指向文档被恢复的XML文件的链接,没有描述任何发现或修复的错误。

有没有什么办法可以得到关于Excel期望看到什么以及看到什么的一些实际的详细信息?

Excel版本5和更高版本使用复合文件来保存其内容。 这些文件以d0 cf 11 e0 a1 b1 1a e1开头。 您可能拥有的不是复合文件,而是MICROSOFT OFFICE EXCEL 97-2007二进制文件格式说明中描述的工作簿的二进制表示forms。 我不知道你的网格输出到哪个版本的BIFF。

既然你是“随机”得到这些错误,我认为在生成xls文件的代码中存在一个错误。 您可以做的最好的事情就是试图制作一个可重复的案例,并联系该组件的制造商。 也许这是unicode相关? 某些导致错误的字符? date格式可能?

如果您有网格组件和导出库的名称,这将有很大的帮助。 也许你也可以联系这些库的创build者,并检查他们的网站的更新?