Excel Interop записывает файлы Excel, которые содержат «пустые» ячейки - PullRequest
0 голосов
/ 11 февраля 2011

У меня есть инструмент ac #, который создает таблицы Excel, которые позже будут прочитаны другим инструментом.Это делается с помощью Excel Interop.

при чтении сгенерированного файла Excel, исключение: OleDbException: слишком много полей определены.

это означает, что файл не может быть прочитан, потому что естьслишком амные столбцы, но их не должно быть, так как реальный контент занимает всего около 90 столбцов.В качестве обходного пути я удалил все остальные столбцы вручную в Excel и снова попытался прочитать их. Это работает, как и ожидалось, так что это означает, что сгенерированный Excel содержит непустые ячейки (которые отображаются как пустые ячейки в Excel ...)

есть ли способ сказать инеропу не создавать пустые ячейки, или есть еще одна причина, по которой я должен проверить?

Большое спасибо Том

PS: Я испытываю этопроблема с библиотеками взаимодействия 2003 года, когда у меня установлен Office 2007.

1 Ответ

0 голосов
/ 16 февраля 2011

Я нашел решение: инструмент копировал диапазоны с одного листа на другой.

Правильно определен диапазон источника: GetRange (fromWorkbookName, fromSheetName, A1, V20);

Ячейка назначения была адресована: GetRange (toWorkbookName, toSheetName, A1) .EntireRow;

Во взаимодействии 2003 года это, казалось, не было проблемой.При выполнении этого в отношении файла xslx в Office 2010 были созданы некоторые «пустые» поля, содержащие «# N / A».

Nasty Nasty ...

во всяком случае, инструмент не делалправильно копировать / вставлять (даже сам Excel предупреждает вас, когда вы копируете диапазон вручную на всю строку).После исправления это, кажется, работает ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...