簡體   English   中英

在 C# 中使用 OleDbConnection 讀取 Excel 工作表時數據丟失

[英]Data missing while Reading Excel sheet using OleDbConnection in C#

我需要讀取excel數據並存儲在數據庫中。 當我嘗試讀取數據時,有一些數據丟失了,我無法找到。

這是我的excel表在此處輸入圖片說明

我的代碼:

private string Excel03ConString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'";

 [![//Get the name of the First Sheet.
            using (OleDbConnection con = new OleDbConnection(conStr))
            {
                using (OleDbCommand cmd = new OleDbCommand())
                {
                    cmd.Connection = con;
                    con.Open();
                    DataTable dtExcelSchema = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                    sheetName = dtExcelSchema.Rows\[0\]\["TABLE_NAME"\].ToString();
                    con.Close();
                }
            }

            //Read Data from the First Sheet.
            using (OleDbConnection con = new OleDbConnection(conStr))
            {
                using (OleDbCommand cmd = new OleDbCommand())
                {
                    using (OleDbDataAdapter oda = new OleDbDataAdapter())
                    {

                        cmd.CommandText = "SELECT * From \[" + sheetName + "\]";
                        cmd.Connection = con;
                        con.Open();
                        oda.SelectCommand = cmd;
                        oda.Fill(dtExcelData);
                        con.Close();

                        //Populate DataGridView.
                        //dataGridView1.DataSource = dt;
                    }
                }
            }

            dtExcelData = dtExcelData.AsEnumerable().Skip(2).Take(1).CopyToDataTable();

            return dtExcelData;][2]][2]

在 oledbConnection 中通讀后的數據:

在此處輸入圖片說明

您的 excel 表中有一些合並的單元格,最好直接訪問您的單元格

我認為這里也可以幫助您:

Excel - 使用 C# 在 .NET 中讀取合並的單元格(行)

您可以輕松地將此類用於您的項目; https://exceldatareader.codeplex.com/

暫無
暫無

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

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