2015-09-22 2 views
3

Я внедрил загрузку шаблона Excel в моем проекте. Я использовал ClosedXML.Создать раскрывающийся список, используя ClosedXML

У меня есть два первенствовать листов

Лист1: В данном листе, у меня есть столбец под названием «Тип», в котором я могу создать Выпадающий список, и это третий столбец.

Лист 2: В этом листе, я столбец с названием «» Типы и его диапазон Адрес: «В2: В4» и это второй столбец.

Типы значения:

Сотрудник

Студент

Учитель

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

Я создал DropDownList в ClosedXML и код:

//Getting the range of sheet 2 

var range = workbook.Worksheet(2).Range(workbook.Worksheet(2).Cell(2,2).Address,workbook.Worksheet(2).Cell(4,2).Address); 

//Applying sheet 2's range with sheet 1 
workbook.Worksheet(1).Column(3).SetDataValidation().List(range:range); 

wb.Worksheet(1).Column(3).SetDataValidation().IgnoreBlanks = true; 
wb.Worksheet(1).Column(3).SetDataValidation().InCellDropdown = true; 

Я получил символ выпадающего на правой стороне ячейки, но я не получил значение в нем.

+0

возможно дубликат [Как читать первенствовать элементы списка (проверки данных) с использованием C# Excel Interop?] (Http://stackoverflow.com/questions/27606170/how-to-read-excel-list-elements-data-validation-using-c-sharp-excel-interop) – Oceans

ответ

1

Вот как определяется диапазон работы для вас. Поскольку диапазон ячеек в листе 2, который будет выступать в качестве пунктов выпадающего списка в листе-уже известно, то вы можете сделать это следующим образом:

//get a reference to worksheet 2 containing various type values - Employee, Student, Teacher: 
var worksheet2 = workbook.Worksheet(2); 

//Applying sheet 2's range validation in sheet 1 where drop down list is to be shown 
workbook.Worksheet(1).Column(3).SetDataValidation().List(worksheet2.Range("B2:B4"), true); 

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

worksheet2.Hide(); 
Смежные вопросы