Ошибка при импорте Excel в Datatable в формах Windows C#

У меня есть лист Excel, и у каждого столбца в листе Excel есть разные типы данных. Один столбец в листе Excel имеет такие значения, как

**Column name**
6%
10%
15%
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
FZDxxxCV
01
FZDLKMCV
FZDLKMCV
FZDLKMCV
FZDLKMCV

Примечание:"" - пустая ячейка в Excel. теперь при импорте Excel эти конкретные значения столбцов становятся пустыми, за исключением первых 3 значений, которые преобразуются в десятичные как 0,06, 0,10, 0,15. Тип первых 3-х ячеек в Excel - "Процент", тогда как тип других ячеек - "Общий". Я также попытался изменить свойства строки подключения до сих пор бесполезно. Какие-либо предложения?

1 ответ

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

В вашем случае он предполагает, что столбец числовой на основе ранних строк, а затем отбрасывает FZDLKMCV ценности.

Это большая боль, и есть разные решения. В Stackru уже есть много вопросов по этому вопросу. Попробуйте эти ссылки:

Доступ к электронной таблице Excel с помощью C# иногда возвращает пустое значение для некоторых ячеек
Помогите с строкой подключения OleDB для файлов Excel
OleDB и смешанные типы данных Excel: отсутствуют данные

Другие вопросы по тегам