尝试使用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