我正在寻找打开和读取 Excel 文件的代码,任何版本的 Excel,包括 2010。我的其中一列有一个下拉菜单。我需要获取下拉列表中所选项目的值。我最终希望将这些值填充到业务对象中。
如果有人有一些代码可以分享,请告诉我。
我正在使用 C# 和 Visual Studio 2010。
Thanks.
我知道 ActiveX 组合和表单下拉列表的 VBA,基于此,我可以为您提供一些关于表单下拉列表的 C# 的非常不专业的注释,但该组合目前尚不清楚。
使用以下笔记:http://support.microsoft.com/kb/302084
//Get a new workbook.
oWB = (Excel._Workbook)(oXL.Workbooks.Open("C:\\Docs\\Book1.xls"));
//3rd Sheet
oSheet = (Excel._Worksheet)oWB.Sheets.get_Item(3);
//This will return an index number
var i = oSheet.Shapes.Item("Drop Down 1").ControlFormat.Value;
//This will return the fill range
var r = oSheet.Shapes.Item("Drop Down 1").ControlFormat.ListFillRange;
oRng = oSheet.get_Range(r);
//This will return the value of the dropdown, based on the index
//and fillrange
var a =oRng.get_Item(i).Value;
//Just to check
textBox1.Text = a;
这可能对 ActiveX 组合有帮助,但我只完成了一半:
using MSForm = Microsoft.Vbe.Interop.Forms;
<...>
Excel.OLEObject cbOLEObj = (Excel.OLEObject)workSheet.OLEObjects("ComboBox1");
MSForm.ComboBox ComboBox1 = (MsForm.ComboBox) cbOLEObj.Object;
Console.WriteLine(ComboBox1.Text);
From: http://www.eggheadcafe.com/community/aspnet/66/10117559/excel-get-value-from-a-combobox.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)