填充Datatable时处理了C#OleDbException

时间:2015-12-15 15:13:58

标签: c# excel

我正在尝试将多个Excel工作表导入到C#中的数据集中。 我得到一个错误说" OleDbException未处理"当它到达adp.Fill(dataTable);

public static DataSet exceldata_intg(string filePath)
{
    OleDbConnection cnn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + @"; Extended Properties=" + (char)34 + "Excel 12.0;IMEX=1;" + (char)34);
    DataSet data = new DataSet();


    Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
    Microsoft.Office.Interop.Excel.Workbook excelBook = xlApp.Workbooks.Open(filePath);

    foreach (Microsoft.Office.Interop.Excel.Worksheet wSheet in excelBook.Worksheets)
    {
        var dataTable = new DataTable();
        string query = string.Format("Select * from [{0}]", wSheet);
        cnn.Open();
        OleDbDataAdapter adp = new OleDbDataAdapter(query,cnn);
        adp.Fill(dataTable); // this is where it causes error.
        data.Tables.Add(dataTable);
    }

    return data;
}

另外,我想从第13行开始导入每张表。 请帮我处理我的代码。

0 个答案:

没有答案