C # Excel выберите значение из выпадающего списка - PullRequest
0 голосов
/ 03 мая 2018

У меня есть документ Excel с раскрывающимся списком , и я пытаюсь получить значения списка и выбрать один (или, по крайней мере, выбрать один из индекс, так как они не изменятся).

Я попытался установить значение с помощью SetCellValue на обоих ICell и XSSFCell , но оно не работает правильно, просто вводится значение, и оно мне нужно быть выбранным, так как другие части документа Excel изменяются соответственно.

Есть ли способ сделать это с помощью NPOI или любых других библиотек C # Excel?

Ответы [ 2 ]

0 голосов
/ 07 мая 2019

Используйте это для навигации по выпадающему списку. Если вы используете выпадающий объект. Мы используем 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



0 голосов
/ 07 мая 2018

, если вы используете 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");
...