2012-11-07 57 views
3

我有一個包含客戶端信息的Excel電子表格。我想用列A中的唯一值填充組合框(comboBox1)。然後,我想要第二個組合框(comboBox2)列出列B中存在的值,其中comboBox1 =列A.最後,我想填充文本字段與列的C,d,E等....從Excel中填充組合框和文本框

我已經嘲笑了一個快速的屏幕我想要的結果:

enter image description here

這從下面的表格中得到:

enter image description here

電子表格中的數據會隨時發生變化,這就是爲什麼我無法對信息進行硬編碼的原因。

我不知道該從哪裏開始。將數據加載到二維數組中還是有更好的方法?

回答

2

您至少有幾個選項。

OOXML SDK

如果Excel文件是2007格式(XLSX)或向上,那麼你可以用它編程通過微軟提供的OOXml SDK工作。

看一看下面的操作方法:

How to: Retrieve the Values of Cells in a Spreadsheet Document

對於其他的怎麼對的電子表格:

http://msdn.microsoft.com/en-us/library/office/cc850837.aspx

互操作

您可以自動excel並以編程方式與之交互。這需要將excel安裝在運行程序的計算機上。微軟還警告說,這在服務器環境中不受支持。

關於通過C#的excel interop有很多問題。

https://stackoverflow.com/search?q=C%23+and+Excel+interop

Excel的驅動程序

MS提供的excel ODBCOLEDB驅動程序。

+0

這聽起來很有用。它的辦公室2007年,並在PC上有Excel是不是一個問題。我想我更加堅持如何填充字段中的數據,而不是特定的值加載。我是否應該將整個電子表格加載到二維數組中,還是應該爲每一行創建一個信息對象?或者,還有更好的方法? – Joseph

+0

這是一個設計問題。簡單的數組可以工作,或列表。與獲取數據相比,這是微不足道的:)。 –