2011-10-31 36 views
3

我使用了代碼here來使用c#更新Excel表。 問題是文件被鎖定,在更新時無法手動編輯(與示例代碼不同,我正在進行持續更新,實時數據饋送) 由於它是一個交易應用程序,運營商需要能夠添加excel公式,而其他單元格正在更新。使用Microsoft.Jet.OLEDB.4.0 +寫入Excel以及同時編輯

我對此感到陌生,並願意轉向任何其他技術/架構使之成爲可能。
我正在接收數據饋送,我只想放入一個excel文件並實時更新它,同時可以手動編輯圖紙。

我猜如果DLL或加載項是在Excel中調用而不是在oledb中調用的,我不會遇到這種鎖定問題。所以,如果有任何的方式來調用從Excel我的代碼,而不是倒過來(不要太艱苦如果可能的話)我歡迎任何建議

編輯:解
我終於選擇了RTD技術爲Excel哪些正是我所期待的。
MS引用是10歲和VBA導向,但它給了大的指導方針,事情自此以後沒有多大改變。如果沒有Kenny Kerr's Artcile on the subject,我想我不會完成。
非常感謝他。

+1

Excel不是數據庫。您不會同時將兩段代碼寫入同一文件。 –

+0

@Saunders:情況並非如此。這裏只有一段代碼是數據傳送。另外,我已經看到了應用程序在我以前的公司中做過這些事但我不知道背後是什麼。 –

+0

我不相信你。沒有辦法在原地更新Excel文件。 –

回答

4

您將需要集成到Excel本身...... Excel提供了一個接口來實現您所描述的內容......它基於COM並稱爲RTD(實時數據服務器),並從Excel中調用。

你必須建立粘附在官方規格COM組件...

一些usfeul鏈接,讓你開始:

+0

謝謝你,Yahia。你再次幫助我。我不想跳進RTD,但沒有任何反饋。我會挖掘你的鏈接,並準備深入其中。 PS:我在看到購買按鈕之前和當我看到加入快車文章時,我跑開了:-)你確定圖書館是免費的嗎?我看了這裏http://www.add-in-express.com/downloads/index。php –

+1

@MikaJacobi第三個鏈接(exceldna)是免費的圖書館,第四個鏈接(add-in-express)是商業... – Yahia

+0

@MikaJacobi如果這是一個商業應用程序(你寫了一個交易應用程序),我強烈建議使用附加快遞選項,因爲你得到堅實的支持... – Yahia

相關問題