Вы попали в кирпичную стену, которую испытывают многие очень разочарованные пользователи Excel.К сожалению, Excel как инструмент компании широко распространен и кажется достаточно надежным, к сожалению, поскольку каждая ячейка / столбец / строка имеет свой тип данных, это делает его кошмаром для работы с другими инструментами, такими как MySQL, SQL Server, R, RapidMiner, SPSS исписок можно продолжить.Кажется, что Excel 2007/2010 не очень хорошо поддерживается и тем более при учете 32/64-битных версий, что является скандальным в наше время.
Основная проблема заключается в том, что когда ACE / JetДля доступа к каждому полю в Excel они используют параметр реестра «TypeGuessRows», чтобы определить, сколько строк нужно использовать для оценки типа данных.Значение по умолчанию для «строк для сканирования» составляет 8 строк.Параметр реестра «TypeGuessRows» может указывать целочисленное значение от одной (1) до шестнадцати (16) строк или можно указать ноль (0) для сканирования всех существующих строк.Если вы не можете изменить настройки реестра (например, в 90% офисных сред), это усложняет жизнь, так как предполагаемые строки ограничены первыми 8.
Например, без изменения реестра, еслипервое появление # N / A находится в первых 8 строках, тогда IMEX = 1 вернет ошибку в виде строки "# N / A".Если IMEX = 0, то # N / A вернет 'Null'.
Если первое вхождение # N / A находится за пределами первых 8 строк, то оба IMEX = 0 и IMEX = 1 оба возвращают 'Null'(при условии, что требуемый тип данных числовой).
С изменением реестра (TypeGuessRows = 0) все должно быть в порядке.
Возможно, есть 4 варианта:
Изменить параметр реестра TypeGuessRows = 0
Вывести все возможные варианты типа в первых 8 строках как «фиктивные данные» (например, memo-поля / nchar (max) / ошибки)# Н / Д и т. Д.)
Исправить ВСЕ аномалии типов данных в Excel
Не использовать Excel - серьезно стоит подумать!
Редактировать: Просто поставить загрузчик :) Еще 2 вещи, которые меня действительно раздражают;если первое поле на листе остается пустым в первых 8 строках и вы не можете редактировать настройки реестра, тогда весь лист возвращается как пустой (многие забавные разговоры, говорящие менеджерам, что они дураки для объединения ячеек!).Кроме того, если в Excel 2007/2010 у вас есть отдел, возвращающий лист с> 255 столбцами / полями, то у вас возникнут огромные проблемы, если вам нужен несмежный импорт (например, введите столбец 1 и данные в столбцы 255+)