使用C#加载Excel工作表问题

时间:2015-11-11 14:00:24

标签: c# .net excel

我在阅读Excel文档时遇到问题。我已经尝试了4个小时,无法找到解决方法。我现在有以下代码。

private void button2_Click(object sender, EventArgs e) {
        if (!string.IsNullOrEmpty(textBox_sheet.Text)) {

            string PathConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" + textBox_path.Text +
                              ";Extended Properties=\"Excel 8.0; HDR=Yes;\";";
            OleDbConnection conn = new OleDbConnection(PathConn);

            OleDbDataAdapter myDataAdapter = new OleDbDataAdapter("Select * From [" + textBox_sheet.Text + "$]",
                conn);

            DataTable dt = new DataTable();

            myDataAdapter.Fill(dt);

            foreach (DataRow row in dt.Rows) {
                Console.WriteLine(row[0].ToString());
                while (!string.IsNullOrEmpty(row[0].ToString())) {
                    Console.WriteLine(row[1].ToString());
                }
            }
            dataGridView1.DataSource = dt;
        }
    }

问题是当我尝试阅读excel表时。它在表单上加载正常,但是将excel表的第一个值作为列标题名称。我不希望这种情况发生。 excel表格具有以下格式。 Excel Sheet format

以下是带有问题的表单应用程序的图像。

Here is an image of the forms application with the problem

正如您所看到的那样,它正在将Excel工作表的第一行加载到Datatable的第一行 我不希望这种情况发生,但我无法弄清楚如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

您的电子表格连接字符串已设置为将第一行视为标题HDR=Yes;。只需将其更改为HDR=No;