Есть ли ограничение на элементы списка в выпадающем списке ячейки Excel с помощью VSTO C #?

Я использую vsto для создания надстройки excel. Я добавляю подтверждение в ячейку и делаю ее как Dropdown . Источник данных для раскрывающегося списка присутствует в другом столбце. Я использую этот код.

 string values = string.Join(",", cellValuesArray); cellRange.Validation.Delete(); cellRange.Validation.Add(Excel.XlDVType.xlValidateList, Excel.XlDVAlertStyle.xlValidAlertStop, Excel.XlFormatConditionOperator.xlBetween, values , Type.Missing); cellRange.Validation.InCellDropdown = true; 

Теперь, если cellValuesArray содержит более 1200 (приблизительно) элементов, тогда он выдает сообщение об ошибке

Исключение типа «System.Runtime.InteropServices.COMException» произошло в mscorlib.dll, но не обрабатывалось в коде пользователя

Дополнительная информация: Исключение из HRESULT: 0x800A03EC

Он отлично работает, если количество предметов невелико, как 600-700. Я не знаю, как это решить.

Итак, как я могу добавить проверку таким образом, чтобы мое выпадающее меню могло содержать более 1 тыс. Записей или, вероятно, намного выше?

После много исследований, наконец, я нашел решение. Если у вас есть большой объем данных, которые вы хотите указать в выпадающем List в ячейке excel, то использование формулы является лучшим решением, чем использование List элементов.

 string formula = "='SheetName'!$B$2:$B$" + lastRowIndex; cellRange.Validation.Add(Excel.XlDVType.xlValidateList, Excel.XlDVAlertStyle.xlValidAlertStop, Excel.XlFormatConditionOperator.xlBetween, formula , Type.Missing); 

Я использую колонку B здесь, вы можете ее соответствующим образом изменить.

  • ElementHost не обновляется после того, как книга переместилась над ним в Excel 2010
  • VSTO: дизайнер Visual Studio повторно использует экземпляр Excel вместо запуска собственного
  • screenupdating = false, пользовательский интерфейс Excel замерзнет
  • Как очистить Excel.AppEvents AdviseSinks?
  • Excel AddIn генерирует исключение в коде разработчика
  • Как открыть файл Excel на C #?
  • Есть ли оболочка (фреймворк) вокруг vsto для слова и excel
  • Excel VSTO Autofilter работает неправильно?
  • Передавать данные в книгу VSTO Excel?
  • Добавление метаданных в книгу Excel, рабочий лист, диапазон
  • Разбор текстового файла и создание отчета Excel
  • Interesting Posts

    PowerApps, использование галереи для отображения коллекции + дополнительная переменная

    Отключить определенное событие

    Добавьте адрес bcc, если установлен флажок True

    Копировать / Вставить формулу Sumif в листы google

    Excel Создать отсортированный список на основе других ячеек

    VBA: я могу добавлять формулы в диапазон ячеек, но не до 1 ячейки

    Почему имя поля PivotTable считается недопустимым и / или мои данные рассматриваются как не упорядоченные как список с помеченными столбцами?

    VBA Копировать столбец и вставлять только формулы – не значения – в следующий столбец

    Чтение файла XLS из VB6

    Код VBA для изменения формата даты в слайде PPT внутри текстового поля

    Настройка размера страницы рабочего листа Excel (а не области печати) из Perl

    Удалить все ячейки, если не AZ

    Жирные переменные в элементе электронной почты с помощью Excel Visual Basic

    как объединить данные на основе строк и столбцов?

    Сохранить XLS с помощью Interop Excel

    Давайте будем гением компьютера.