Я использую OleDbDataAdapter
(точнее, Microsoft.ACE.OLEDB.12.0) для извлечения данных из книги Excel. Для одной таблицы я использую типизированный набор данных, но для другой таблицы я не могу этого сделать, так как количество столбцов неизвестно (шаблон Excel может создавать дополнительные столбцы).
Проблема заключалась в том, что если кто-то вводит слишком много числовых значений в столбец, «JET», кажется, предполагает, что это числовой столбец, и текстовые значения больше не загружаются. Я знаю, что вы можете изменить шаблон и установить определенный тип данных для этого столбца, но шаблон уже широко распространен, поэтому я бы предпочел разрешить его во время импорта.
Теперь я попытался сначала подсчитать количество используемых столбцов и подготовить новую таблицу данных с определенной коллекцией столбцов и установить для их свойства DataType значение typeof(string)
. К сожалению, JET, кажется, не смотрит на это и все еще выбирает свой собственный путь. Я предполагаю, что даже если бы я мог использовать здесь строго типизированный набор данных, это тоже не помогло бы...
Кто-нибудь знает, как сообщить JET, как импортировать данные, чтобы мне не приходилось сталкиваться с бременем доставки новой версии шаблона?
Пожалуйста, *ПОЖАЛУЙСТА*: не используйте решение для автоматизации Excel...