Советы по отладке в Excel - PullRequest
2 голосов
/ 20 октября 2010

У меня есть библиотека, которая может экспортировать содержимое сетки VCL в формат XLS. (Не уверен, какая версия формата XLS; это часть проблемы.) Обычно это работает просто отлично, но в некоторых случаях, когда я открываю XLS, который был экспортирован этой библиотекой в ​​Excel 2007, он говорит: «Excel обнаружил нечитаемый контент в '[myfile.xls]'. Хотите восстановить содержимое этой книги? "

Он способен восстановить его правильно, поэтому, какой бы ни была проблема, она не должна быть настолько серьезной, но у меня чертовски много времени выясняется, в чем проблема . Я не могу сделать ничего простого, например запустить Excel под отладчиком, потому что это проприетарное программное обеспечение. Я пытался сохранить исправленную версию как различные варианты XLS и различать два файла, но я никогда не нахожу ничего, что хотя бы отдаленно напоминало формат файла оригинала. Когда восстановление завершено, он дает мне ссылку на XML-файл, в котором говорится, что документ был восстановлен, без описания чего-либо об ошибках, которые были найдены или исправлены.

Можно ли как-нибудь получить некоторую фактическую подробную информацию о том, что Excel ожидал увидеть и что вместо этого он увидел?

Ответы [ 2 ]

5 голосов
/ 20 октября 2010

Excel версии 5 и более поздние используют составные файлы для сохранения их содержимого. Эти файлы начинаются с d0 cf 11 e0 a1 b1 1a e1. Вероятно, у вас есть не составной файл, а двоичное представление рабочей книги, как описано в MICROSOFT OFFICE EXCEL 97-2007 ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ БИНАРНОГО ФАЙЛА . Я не знаю, в какую версию BIFF экспортируется ваша сетка.

Так как вы «случайно» получаете эти ошибки, я думаю, что есть ошибка в коде, который генерирует файл xls. Лучшее, что вы можете сделать, это попытаться создать воспроизводимый случай и связаться с производителем этого компонента. Может быть, это связано с Unicode? Определенные символы, которые вызывают ошибку? Форматы даты возможно?

0 голосов
/ 20 октября 2010

Было бы очень полезно, если у вас есть имя компонента сетки и библиотека экспорта. Может быть, вы также можете связаться с создателями этих библиотек и проверить их сайты на наличие обновлений?

...