0

我正在尝试将文本框中的一些值导出到 Excel 工作表(.xlsx 文件)中的几列(日期、温度)。但它会生成一个名为“INSERT INTO 语句包含以下未知字段名称:'Temperature'”的错误。当我从 INSERT INTO 语句中删除温度列时,它可以工作。请帮忙。我已经给出了下面的编码:

     private void button2_Click(object sender, EventArgs e)
    {
        openFileDialog2.ShowDialog();
        string Path = openFileDialog2.FileName.Replace("'\'", "'\\'");
        try
        {

        string szConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +Path+ ";Extended Properties='Excel 8.0;HDR=YES;'";
        OleDbConnection conn = new OleDbConnection(szConn);
        conn.Open();
        OleDbCommand cmd = new OleDbCommand("INSERT INTO [Weather Report$]([Date],[Temperature]) VALUES('" + textBox1.Text + "','" + textBox3.Text + "')", conn);
        cmd.ExecuteNonQuery();


        conn.Close();

        }
        catch (Exception ex)
        {
        MessageBox.Show (ex.ToString());
        }
    }
4

1 回答 1

1

确保您尝试添加数据的 Excel 文件包含带有这两个值日期和温度的标题(第一行)。

它试图在 Excel 中查找标题值为温度的列,但无法找到它...

于 2012-07-25T07:27:39.847 回答