【问题标题】:all data is not being read from excel file没有从 excel 文件中读取所有数据
【发布时间】:2012-11-15 12:52:30
【问题描述】:

我正在使用下面的代码从 Excel 表中读取数据并将数据添加到数据表中,但是在读取文件并检查数据表中的数据时,一些数据丢失了。我一直在寻找在这并且不知道为什么会这样。

excelConnectionString =
                  "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName +
                      " ;Extended Properties=Excel 12.0";
            try
            {
                // Create Connection to Excel Workbook
                using (OleDbConnection connection =
                new OleDbConnection(excelConnectionString))
                {
                    connection.Open();
                    System.Data.DataTable dt = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                    string[] excelSheet = new String[dt.Rows.Count];
                    int sheet = 0;
                    foreach (DataRow row in dt.Rows)
                    {
                        excelSheet[sheet] = row["Table_Name"].ToString();
                        sheet++;

                    }
                    for (int i = 0; i < excelSheet.Length; i++)
                    {
                        OleDbCommand command = new OleDbCommand
                             ("Select  * FROM [" + excelSheet[i] + "]", connection);

                        adapter.SelectCommand = command;
                        adapter.Fill(dt);
                        dataGridView1.DataSource = dt;
                    }

【问题讨论】:

  • 你说的是Columns里面的Data吗?

标签: c# excel ole


【解决方案1】:

没有人可以重现您的问题并找出某些问题。但是你可以在这里找到类似的问题。

Read Excel file through Datagridview

Export Excel to Datatable

【讨论】:

    【解决方案2】:

    使用OledbConnection 读取 Excel 文件会遇到一个问题,即每列的字符数限制为 255。

    您可以尝试添加“IMEX=1;”到你的连接字符串的末尾,但我不确定这会解决你的问题。

    【讨论】:

    • 任一列的字符数是否超过 255?
    【解决方案3】:

    如果您使用OleDbConnection,您将受到只能读取 255 列的限制。我遇到了大床单的问题,不得不改变方法。

    链接与有关该问题的讨论: http://social.msdn.microsoft.com/Forums/office/en-US/0678e022-b435-4f47-a79c-73780301cfb3/using-ace-120-to-import-an-excel-worksheet-with-more-than-255-columns

    这似乎是一个古老的已知问题,暂时不会解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多