2011-05-23 57 views
4

我還沒有找到任何人有類似的問題,所以我尋求幫助。我寫了一個簡單的程序,該程序應該從Excel電子表格(A)中讀取數據,並在做一些計算後將計算後的數據插入到不同的電子表格(B)中。C#,Excel,OleDB,插入語句不起作用

我可以在沒有任何問題的情況下執行SELECT命令,但是當我使用ExecuteNonQuery執行INSERT命令時,它返回1(表示受影響的行),但沒有任何內容插入到電子表格中。

我在連接字符串中打開沒有Imex參數的文件。我甚至嘗試添加這個參數,但得到一個異常。

插入語句是(例如):

Insert into [Test$](F3,F4,F5,F6,F9,F10,F11,F15,F16,F17,F18,F19,F20,F21,F22,F23,F24,F25,F26) values('1','1','1','2010-07-12','PR','C','P','1','R','OR',null,null,null,null,null,null,null,null,null) 

編輯

這似乎是問題的根源是電子表格本身。任何想法爲什麼?

+0

你能請提供你所得到的例外呢? – 2011-05-23 09:59:08

+0

隨着Imex = 1我得到了「操作必須使用可更新的查詢。」 – lipman 2011-05-23 10:14:11

+0

你的Excel表格中是否有這些字段名稱F3,F4等?嘗試先插入一個或兩個值...然後可能很容易找出問題... – 2011-05-23 10:16:53

回答

1

請按照下面的鏈接:

它有一個非常簡單的代碼,它爲我工作得很好:

http://csharp.net-informations.com/excel/csharp-excel-oledb-insert.htm

+0

好吧,我用提供的代碼,並創建一個空的Excel文件寫入,它的工作。因此,我的原始文件可能有些問題,但可能會出錯?我必須寫入該文件 - 無法創建一個新文件。 Chcecking兼容性可以產生什麼影響? – lipman 2011-05-23 11:03:23

+0

是您的Excel表格xls或xlsx?你的文件不是空的嗎? – 2011-05-23 11:10:02

+0

我的Excel工作表是xls,它是空的,但有一定的格式設置必須保存。它包含的所有標題現在(我已經添加了它們)。 – lipman 2011-05-23 11:15:51