簡體   English   中英

從下拉列表中讀取Excel數據到C#對象數組中

[英]Read Excel data from Drop down into C# object array

從C#內部,我試圖將數據從Excel工作表讀取到C#對象中。

除一個小細節(下拉列表中的Excel數據)外,其他所有內容均正常運行。

對於每個對應的Excel下拉列表條目,數組中的結果以某種方式為null。

到目前為止,我的代碼如下:

 var range = sheet.get_Range("A1", "D3");

 var valuearray = (Object[,])range.get_Value(XlRangeValueDataType.xlRangeValueDefault);

只要單元格數據不是來自Excel下拉列表valuearray,就可以獲取正確的值。 但是,一旦數據來自下拉列表,則valuearray條目為null。

感謝任何輸入,Danne :-)

出現此問題是因為下拉列表的數據實際上沒有存儲在Range對象本身中。 如果您查看WorkSheet對象,您會注意到DropDowns方法。 這將返回一個DropDowns對象,您可以隨后調用Item以獲得單個DropDown。 從那里,您可以像在DropDown本身中那樣處理列表:

(assuming: using Excel = Microsoft.Office.Interop.Excel)
Excel.DropDowns allDropDowns = YourWorkSheet.DropDowns(Type.Missing);
Excel.DropDown oneDropdown = allDropDowns.Item(YourIndex);

我沒有進行任何改動來深入研究從DropDown中獲取項目(僅通過AddItem添加更多內容),但是Get List和Get Selected方法似乎是一個不錯的起點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM