簡體   English   中英

C# 從 excel 加載數據適配器,是否有最大列數?

[英]C# Loading data adapter from excel, is there a maximum column count?

我在嘗試從 Excel 電子表格創建 ac# 數據表時遇到問題。 代碼很簡單,但由於某種原因,當我逐步執行它時,數據表只加載了電子表格中 700 列中的 256 列。 查看下面的代碼,Settings.Excel_Proj_Select 只是“從 Project_Data$ 中選擇 *”。 是否有最大列數,如果有,有沒有辦法將整個工作表放入數據表中?

        public static DataTable getRowData()
        {

        OleDbConnection cnn = new OleDbConnection(Settings.ExcelCN);
        OleDbCommand oconn = new OleDbCommand(Settings.Excel_Proj_Select, cnn);
        cnn.Open();
        OleDbDataAdapter adp = new OleDbDataAdapter(oconn);
        DataTable dt = new DataTable();
        adp.Fill(dt);
        cnn.Close();

        dt.Columns.Add("Extract_Date", typeof(string));
        foreach (DataRow row in dt.Rows)
        {
            row["Extract_Date"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
        }

        return dt;
    }

任何信息表示贊賞。 謝謝!

使用 Ole 提供程序時,列的最大數量似乎為 255,是的。

但是您可以通過在查詢中指定范圍來使用簡單的解決方法:

//Modify the range to suit your needs
SELECT * FROM Project_Data$[RANGE]:[HERE]

然后您可以運行多個查詢,每個查詢選擇不同的范圍,然后組合數據。

請參閱此處了解使用 OpenXML 的另一種方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM