Импортировать данные Excel в C # без того, чтобы первая строка стала именем столбца? - PullRequest
5 голосов
/ 14 декабря 2010

Я пытаюсь импортировать данные из Excel в таблицу данных с использованием c #. Вот код, который я использую для этого ...

string ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
                    "Data Source=" + fileName + "; Jet OLEDB:Engine Type=5;" +
                    "Extended Properties=\"Excel 8.0;HRD=No;IMEX=1;\"";
OleDbDataAdapter SheetAdapter = new OleDbDataAdapter("select * from ["Sheet1"]", conn);
System.Data.DataTable excelData = new System.Data.DataTable();
SheetAdapter.Fill(excelData);
excelData.TableName = "excelData";

foreach (DataRow row in excelData.Rows)
{
   ProcessDataRow(row);
}

Когда я смотрю на таблицу данных при отладке, первая строка данных стала именами столбцов таблиц. Я не понимаю, почему это происходит, когда я помещаю HDR = Нет в строку подключения. Есть ли способ заставить DataTable не принимать первую строку в качестве имени столбца?

Ответы [ 2 ]

5 голосов
/ 14 декабря 2010

В приведенном вами примере кода HRD=No вместо HDR=No

0 голосов
/ 14 декабря 2010

Я использовал библиотеку NPOI только для задачи, о которой вы спрашивали, и даже больше.Единственным ограничением является то, что он еще не может обрабатывать формат Excel 2007, поэтому вы ограничены форматом 97-2003.

...