Прочитайте Excel, используя c # .net Issue - PullRequest
1 голос
/ 31 марта 2011

Я читаю данные из таблицы Excel, используя C #.

Вот мой код, и он работает.

var fileName = @"C:\Users\yohan\Desktop\Brandix\y.xlsx";
var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0; data source=                  {0}; Extended Properties=Excel 12.0;", fileName);

var adapter = new OleDbDataAdapter("SELECT * FROM [BOM$]", connectionString);
var ds = new DataSet();

adapter.Fill(ds);
DataTable data = ds.Tables[0];

Но он всегда пропускает верхний ряд листа Excel, почему это так? Пожалуйста, помогите ... !!

Спасибо Йоан

Ответы [ 4 ]

3 голосов
/ 31 марта 2011

Это нормальное поведение адаптера данных.Верхняя строка считается строкой заголовка или строкой «Имя столбца».

Чтобы изменить это поведение, добавьте в «Расширенные свойства» строки подключения свойство « HDR = NO »

Пример:

var fileName = @"C:\Users\yohan\Desktop\Brandix\y.xlsx";
var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0; data source={0}; Extended Properties=""Excel 12.0;HDR=NO;""", fileName);

var adapter = new OleDbDataAdapter("SELECT * FROM [BOM$]", connectionString);
var ds = new DataSet();

adapter.Fill(ds);
DataTable data = ds.Tables[0];
1 голос
/ 31 марта 2011

Попробуйте добавить HDR = NO к расширенным свойствам.

см. ссылку для подробностей

1 голос
/ 31 марта 2011

Попробуйте изменить строку подключения на ...

   "Provider=Microsoft.ACE.OLEDB.12.0; data source={0}; Extended Properties=\"Excel 12.0;HDR:No\""

См. на этой странице , чтобы узнать больше возможных строк подключения. Параметр HDR определяет, считает ли провайдер верхнюю строку именами столбцов.

0 голосов
/ 29 июля 2015

Рекомендуемый способ чтения файла Excel в приложении на стороне сервера - Open XML.

Вы можете попробовать установить компонент ACE, но он по-прежнему не рекомендуется и не поддерживается.

Для использования Open XML вы можете перейти по ссылкам ниже, которые помогут вам использовать Open XML в вашем коде для чтения файлов Excel -

Link1

Link2

LINK3

...