Основные проблемы работы с XLS в c # .net 4.0 - PullRequest
0 голосов
/ 15 июня 2011

У меня есть файл xls, который я хотел бы прочитать с помощью c # и заполнить информацию в таблице данных. Код, который я использую:

public static DataTable GetExcelData(string excelFilePath)
{
    OleDbConnection objConn = null;
    string oledbConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelFilePath + ";Extended Properties=Excel 10.0;";
    objConn = new OleDbConnection(oledbConnectionString);

    if (objConn.State == ConnectionState.Closed)
    {
        objConn.Open();
    }
    var objCmdSelect = new OleDbCommand("Select * from [Sheet1$]", objConn);
    var objAdapter = new OleDbDataAdapter();
    objAdapter.SelectCommand = objCmdSelect;
    var objDataset = new DataSet();
    objAdapter.Fill(objDataset, "ExcelDataTable");
    objConn.Close();
    return objDataset.Tables[0];
}

Как только эта таблица данных заполнится, мне нужно удалить первые 5 или около того строк, которые содержат информацию заголовка, и выполнить цикл по таблице данных, заполняющей таблицу базы данных доступа. Мне не повезло с этим или любым другим предложенным 10000 способов. Есть ли у кого-нибудь информация, которая может мне помочь. Я использую VS2010 .NET 4.0 Framework. Любая помощь будет очень признательна.

Спасибо, John

1 Ответ

1 голос
/ 15 июня 2011

У меня было много проблем при попытке перевести данные Excel в DataTable с помощью OLEDB. Я наконец решил проблему, переключившись на решение, которое использует Excel Interop. Пожалуйста, смотрите этот ответ для дальнейшего объяснения и пример кода:

Импорт из Excel: некоторые ячейки становятся нулевыми

...