我正在开发一个项目,该项目需要从下拉列表中读取所选值,并为Excel中的其他单元格生成值。
以下是代码中的代码段:
var list = new System.Collections.Generic.List<string>();
list.Add("A");
list.Add("B");
list.Add("C");
var flatList = string.Join(",", list.ToArray());
var cell = ws.get_Range("D1", Type.Missing);
cell.Validation.Delete();
cell.Validation.Add(
XlDVType.xlValidateList,
XlDVAlertStyle.xlValidAlertInformation,
XlFormatConditionOperator.xlBetween,
flatList,
Type.Missing);
cell.Validation.IgnoreBlank = true;
cell.Validation.InCellDropdown = true;
cell.Value = "Overall";
我使用了上面的代码,并成功地创建了一个下拉列表。但我不确定如何读取所选的值。根据选择的值,应更新单元格D3值。我需要一个像这样的代码:
if(selected option is "A")
{
Cell D3 value should be ="111";
}
else if (selected option is "B")
{
cell D3 value should be ="222";
}
else
{
cell D3 value should be ="333";
}
如何根据下拉列表中选择的值触发单元格值更改?
答案 0 :(得分:0)
在excel中,下拉值驻留在单元格中,因此您只需获取已应用下拉列表的单元格值。
您只需要以下代码从单元格中读取值:
var cellValue = (string)(ws.Cells[4, 1] as Excel.Range).Value;
然后您可以使用条件IF ELSE
来检查单元格值并执行必要的操作。
if(cellValue == "A")
{
//Do something
}
else if(cellValue == "B")
{
//Do something
}
依旧......
答案 1 :(得分:0)
到Paresh J:
好的安卓,但有一点错误。
var cellValue = (string)(ws.Cells[1, 4] as Excel.Range).Value;
我认为“Cells [1,4]”等于“get_Range(”D1“,Type.Missing)”。