我有一个库,它可以将VCL网格的内容导出为XLS格式。(不确定XLS格式的哪个版本;这是问题的一部分。)它通常工作得很好,但在某些情况下,当我在Excel 2007中打开这个库导出的XLS时,它会说:"Excel在'myfile.xls‘中找到了不可读的内容。要恢复此工作簿的内容吗?“
它能够正确地恢复它,所以不管问题是什么,它都不会那么严重,但是我有一段时间去弄清楚问题出在哪里。我不能做任何简单的事情,比如在调试器下运行Excel,因为它是专有软件。我试着将修正后的版本保存为XLS的不同版本,并对这两个文件进行扩展,但我从未发现任何看起来甚至与原始文件格式有点类似的东西。当恢复完成后,它会给我一个指向XML文件的链接,该文件声明文档已被恢复,而没有描述任何有关发现或修复的错误的任何内容。
有什么方法可以让我获得一些关于Excel期望看到什么以及它看到了什么的实际详细信息吗?
发布于 2010-10-20 07:25:14
Excel版本5及更高版本使用复合文件保存其内容。这些文件以d0 cf 11 e0 a1 b1 1a e1开头。您可能拥有的不是复合文件,而是工作簿的二进制表示形式,如MICROSOFT OFFICE EXCEL 97-2007二进制文件格式规范中所描述的。我不知道您的网格导出到哪个版本的BIFF。
由于您正在“随机”获取这些错误,所以我认为在生成xls文件的代码中存在一个错误。你能做的最好的事情就是尝试制造一个可复制的外壳,并与该部件的制造商联系。也许是unicode相关的?导致错误的某些字符?可能是日期格式?
发布于 2010-10-20 05:39:11
如果您有网格组件和导出库的名称,这将有很大帮助。也许您也可以联系这些库的创建者并查看他们的站点以获得更新?
https://stackoverflow.com/questions/3973858
复制相似问题