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

时间:2012-08-17 20:55:50

标签: c# excel insert oledb

我希望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());
        }

当我尝试时,this窗口打开。

任何人都知道为什么以及该做什么?

1 个答案:

答案 0 :(得分:2)

  

Extended Properties=Excel 8.0

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

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