0

我想要一个 C# 表单中的按钮能够将数据插入 Excel 表。

这就是我所做的:

try
        {
            System.Data.OleDb.OleDbConnection MyConnection;
            System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand();
            string sql = null;
            MyConnection = new System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\\Users\\Miko\\Documents\\WeightWatchers - Copy\\TrackingLoss.xlsx';Extended Properties=Excel 8.0;");
            MyConnection.Open();
            myCommand.Connection = MyConnection;
            sql = "Insert into [Sheet1] (Date,Loss) values(y,x)";
            myCommand.CommandText = sql;
            myCommand.ExecuteNonQuery();
            MyConnection.Close();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }

当我尝试它时,这个窗口是打开的。

有人知道为什么以及该怎么做吗?

4

1 回答 1

2

Extended Properties=Excel 8.0

这意味着 Excel 97 ( .xls) 文件,而不是.xlsx.

你需要使用Provider=Microsoft.ACE.OLEDB.12.0; Extended Properties=Excel 12.0 Xml

于 2012-08-17T20:57:58.330 回答