OpenXml DataValidation задает предопределенный список столбцов

Я использую OpenXml для создания файла Excel и экспорта данных таблицы. Один из сценариев: я хочу, чтобы в столбце было раскрытие предопределенных значений, например true и false. Я выполнил этот вопрос и написал код, как показано ниже.

DataValidation dataValidation = new DataValidation { Type = DataValidationValues.List, AllowBlank = true, SequenceOfReferences = new ListValue<StringValue>() { InnerText = "B1" }, //Formula1 = new Formula1("'SheetName'!$A$1:$A$3") // this was used in mentioned question Formula1 = new Formula1("True,False") // I need predefined values. }; DataValidations dvs = worksheet.GetFirstChild<DataValidations>(); //worksheet type => Worksheet if (dvs != null) { dvs.Count = dvs.Count + 1; dvs.Append(dataValidation); } else { DataValidations newDVs = new DataValidations(); newDVs.Append(dataValidation); newDVs.Count = 1; worksheet.Append(newDVs); } 

Если я использую его с SheetName с диапазоном значений ячеек, он отлично работает, но если я добавлю строку, она выдаст мне ошибку «Нечитаемый контент найден» и удалит узел datavalidation.

Как добавить значения для проверки выпадающего списка в самой формуле. XML, созданный для добавления вручную (путем редактирования в приложении excel) значения списка: <formula1>"One,Two"</formula1> (наблюдается xml для файла excel)

Хорошо, я решил это. Добавлены сэкономленные двойные кавычки в формулу и сделаны.

 DataValidation dataValidation = new DataValidation { Type = DataValidationValues.List, AllowBlank = true, SequenceOfReferences = new ListValue<StringValue>() { InnerText = "B1" }, Formula1 = new Formula1("\"True,False\"") // escape double quotes, this is what I was missing }; DataValidations dvs = worksheet.GetFirstChild<DataValidations>(); //worksheet type => Worksheet if (dvs != null) { dvs.Count = dvs.Count + 1; dvs.Append(dataValidation); } else { DataValidations newDVs = new DataValidations(); newDVs.Append(dataValidation); newDVs.Count = 1; worksheet.Append(newDVs); } 
  • Рабочий лист.CustomProperites OpenXML
  • Максимальный предел точности префикса Excel для общей категории
  • C # создать сводные диаграммы OpenXML
  • Проблема с отрицательным экспонентом ExtremeML
  • c # openxml excel styleheet border error
  • Итерацию по всем данным в файле excel и поиск определенного текста
  • OpenXML Запись значений в пустые ячейки в Excel
  • Как преобразовать Excel в CSV с помощью OpenXML SDK?
  • Программно вставить строку в Excel в OpenXML
  • Создание комментариев к ячейкам в электронной таблице Excel с помощью OpenXML SDK
  • Элементы таблицы стилей
  • Interesting Posts

    Как экспортировать CDATA из таблицы Excel в XML без экранирования символов?

    EXCEL Наименьшее значение со значением в соседней ячейке

    Сортировка в excel, когда в столбце есть слово и номер

    Макросы VBA: как проверить каждое значение диапазона на определенное значение и вставить конкретную строку (диапазона) в качестве пастообразного с помощью макроса VBA?

    Как добавить случайное число в каждую ячейку столбца?

    Изменение данных в ячейке после заполненной ячейки списка

    Запуск внешнего макроса при нажатии кнопки из обычной книги excel (.xlsx)

    Извлечение последовательных номеров в Excel

    VBA Runtime Error 9 (Excel 2007)

    Есть ли способ получить число строк и столбцов, присутствующих в листе .xlsx, используя openpyxl?

    Ошибка Excel Solver при использовании VBA

    Excel как источник данных реального времени в C #

    Изменения в базе данных между двумя базами данных

    Сценарий работает в режиме отладки, но не в нормальном режиме – Код ошибки: 429 (компонент ActiveX не может создать объект)

    ошибка Excel экспортирует данные в odoo 8

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