C# Excel создание выпадающего списка в ячейке

191
19 июля 2017, 21:26

Вывожу в Excel данные в C# WinForms. В одной ячейке мне нужно, чтобы был выпадающий список с вариантами (при этом одно из значений было бы выбрано).

Использую

Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application();
ExcelApp.Application.Workbooks.Add(Type.Missing);
ExcelApp.Columns.ColumnWidth = 15;
ExcelApp.Cells[1, 1] = "Текст";
ExcelApp.Visible = true;

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

Answer 1
var excel = Globals.ThisAddIn.Application;
var worksheet = (Worksheet)excel.ActiveSheet;
var list = new List<string>();
list.Add("Текст1");
list.Add("Текст2");
list.Add("Текст3");
var flatList = string.Join(",", list.ToArray());
var cell = (Range)worksheet.Cells[2, 2];
cell.Validation.Delete();
cell.Validation.Add(
   XlDVType.xlValidateList,
   XlDVAlertStyle.xlValidAlertInformation,
   XlFormatConditionOperator.xlBetween,
   flatList,
   Type.Missing);
cell.Validation.IgnoreBlank = true;
cell.Validation.InCellDropdown = true;
READ ALSO
Параметр fixedFrom в dbml.layout

Параметр fixedFrom в dbml.layout

Для чего предназначены параметры fixedFrom и fixedTo в dbmllayout файле?

204
Как с помощью Interop Word вставить разрыв страницы?

Как с помощью Interop Word вставить разрыв страницы?

У меня есть шаблон документа (docx), с маркерами, которые я заменяю текстом

433
Десериализация поврежденных данных json.net

Десериализация поврежденных данных json.net

Использую библиотеку newtonsoft jsonnet

165
Binding и string concatenation

Binding и string concatenation

Есть два свойства edgeType и idИх нужно вывести в одну строку через пробел

158