[英]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.