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 に答える