我正在尝试将 Excel 文件读入 Data.DataTable 列表,尽管使用我当前的方法可能需要很长时间。我基本上是逐个工作表,逐个单元格地去工作,而且往往需要很长时间。有没有更快的方法来做到这一点?这是我的代码:
    List<DataTable> List = new List<DataTable>();
    // Counting sheets
    for (int count = 1; count < WB.Worksheets.Count; ++count)
    {
        // Create a new DataTable for every Worksheet
        DATA.DataTable DT = new DataTable();
        WS = (EXCEL.Worksheet)WB.Worksheets.get_Item(count);
        textBox1.Text = count.ToString();
        // Get range of the worksheet
        Range = WS.UsedRange;
        // Create new Column in DataTable
        for (cCnt = 1; cCnt <= Range.Columns.Count; cCnt++)
        {
            textBox3.Text = cCnt.ToString();
                Column = new DataColumn();
                Column.DataType = System.Type.GetType("System.String");
                Column.ColumnName = cCnt.ToString();
                DT.Columns.Add(Column);
            // Create row for Data Table
            for (rCnt = 0; rCnt <= Range.Rows.Count; rCnt++)
            {
                textBox2.Text = rCnt.ToString();
                try
                {
                    cellVal = (string)(Range.Cells[rCnt, cCnt] as EXCEL.Range).Value2;
                }
                catch (Microsoft.CSharp.RuntimeBinder.RuntimeBinderException)
                {
                    ConvertVal = (double)(Range.Cells[rCnt, cCnt] as EXCEL.Range).Value2;
                    cellVal = ConvertVal.ToString();
                }
                // Add to the DataTable
                if (cCnt == 1)
                {
                    Row = DT.NewRow();
                    Row[cCnt.ToString()] = cellVal;
                    DT.Rows.Add(Row);
                }
                else
                {
                    Row = DT.Rows[rCnt];
                    Row[cCnt.ToString()] = cellVal;
                }
            }
        }
        // Add DT to the list. Then go to the next sheet in the Excel Workbook
        List.Add(DT);
    }
