尝试使用OLEDB将数据插入Excel文件

我想要一个C#表单中的button,可以将数据插入到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()); } 

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

任何人都知道为什么和做什么?

Extended Properties=Excel 8.0

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

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