C# Excel выберите значение из выпадающего списка
У меня есть документ Excel с раскрывающимся списком, и я пытаюсь получить значения списка и выбрать один (или, по крайней мере, иметь возможность выбрать один по индексу, так как они не изменятся).
Я попытался установить значение с помощью SetCellValue как для ICell, так и для XSSFCell, но оно не работает должным образом, оно просто вводит значение, и мне нужно, чтобы оно было выбрано, так как другие части документа Excel меняются соответствующим образом.
Есть ли способ сделать это с помощью NPOI или любых других библиотек C# Excel?
1 ответ
Если вы используете NPOI. Вы можете попробовать один из этих подходов. Вы также можете установить CellFormula, SetAsActiveCell, setErrorValue, setCellType и т. Д., Используя тот же подход.
//Approach 1
var row = sheet.CreateRow(0);
row.Cells[targetColumn].SetCellValue("whatertypevalue");
//Approach 2
var namedRow = wb.GetSheetAt(sheetIndex).CreateRow(rowindex);
namedRow.CreateCell(columnIndex).SetCellValue("whatertypevalue");
//Approach 3
var namedRow1 = wb.GetSheetAt(0).GetRow(rowindex);
namedRow1.Cells[targetColumn].SetCellValue("whatertypevalue");
Используйте его для навигации по раскрывающемуся списку. Если вы используете раскрывающийся объект. Мы используем shape.item
Вам нужно определить имя объекта формы из вашего Excel.
var control = xlWorksheet.Shapes.Item("Drop Down 22").ControlFormat;
control.ListIndex = 5; \\This allows you to change the drop down to 5th element
Excel.Range xlRangeloc= xlWorksheetH.get_Range("D5");
xlRangeloc.Value = "OptionOne";\\If the drop down is a combo box bound to a excel cell value