c # excel Interop.XlDVType.xlValidateList Автозаполнение IncellDropDown
Я могу получить раскрывающийся список в ячейке, используя код ниже
Interop.Range validationAddressRange = ws.Worksheet.get_Range(startAddress, endAddress); validationAddressRange.Select(); validationAddressRange.Cells.Validation.Delete(); validationAddressRange.Cells.Validation.Add(Type: Interop.XlDVType.xlValidateList, AlertStyle: Interop.XlDVAlertStyle.xlValidAlertStop, Formula1: formula); validationAddressRange.Cells.Validation.IgnoreBlank = true; validationAddressRange.Cells.Validation.InCellDropdown = true; validationAddressRange.Cells.Validation.ErrorMessage = "Invalid entry. Click 'Retry' to update the cell value, or 'Cancel' to undo the change made to the cell."; validationAddressRange.Cells.Validation.ErrorTitle = "Invalid Data Error"; validationAddressRange.Cells.Validation.ShowError = true; ws.Worksheet.Cells[1,1].Select(); //selects the top-leftmost cell since excel doesn't furnish a de-select option.
Кто-нибудь знает, как связать события и иметь функцию автозаполнения, точно так же, как обычное окно формы combobox?
- Добавление штампа даты и времени в файле en excel с использованием Interop с использованием C #
- excel.Range.Find возвращает неверное значение C #
- Закрытие приложения Excel с помощью Excel Interop без сохранения сообщения
- Локализация Interop.Excel и Range.Formula vs Formulalocal
- Автоматическое расширение форматированной таблицы в Excel с использованием C #
- Почему некоторые из ярлыков PivotTable показывают неправильный год?
- Excel для DataGridView без использования жесткого кода
- Проблемы с диапазонами в Excel Interop
- C # - Microsoft.Office.Interop.Excel.Sheets to Microsoft.Office.Interop.Excel.Worksheet
- Запись в Excel с использованием Microsoft.Jet.OLEDB.4.0 + Редактирование в одно и то же время
- Как я могу получить ячейки Excel для «правильного размера» для их содержимого?
- Выбрать коллекцию ячеек
- Как создать экземпляр пустой книги с помощью Excel Interop?
Здесь я попытался решить эту проблему. меня устраивает.
var list = new System.Collections.Generic.List<string>(); list.Add("RFP"); list.Add("2nd Review"); list.Add("RESHOOT"); var flatList = string.Join(", ", list.ToArray()); var cell = (Microsoft.Office.Interop.Excel.Range)oSheet.Cells.get_Range("B1");; cell.Validation.Delete(); cell.Validation.Add( XlDVType.xlValidateList, XlDVAlertStyle.xlValidAlertInformation, XlFormatConditionOperator.xlBetween, flatList, Type.Missing);
Здесь он будет работать, когда вы будете заполнять ячейки от первого до последнего непрерывно, не выходя из какой-либо ячейки. если вы заполните ячейку посередине. Это не будет работать.