Как добавить выпадающий список в Excel с использованием spreadsheetgear? - PullRequest
2 голосов
/ 20 января 2012

Я хочу добавить выпадающий список в один из столбцов листа Excel. Как добавить его с помощью spreadsheetgear ????

Ответы [ 2 ]

6 голосов
/ 20 января 2012

Если вы пытаетесь добавить раскрывающийся список Проверка данных ячейки в столбец, это можно сделать с помощью интерфейса SpreadsheetGear.IValidation, доступного из свойства IRange.Validation.Ниже приведен пример кода, демонстрирующий построение двух столбцов проверки данных.Столбец B вытягивает выпадающие предметы из ряда ячеек на одном листе;Столбец C извлекает свои выпадающие элементы из статического списка значений.

// Create workbook and a local variable to Cells
IWorkbook workbook = Factory.GetWorkbook();
IRange cells = workbook.ActiveWorksheet.Cells;
// Build up some data to use in our validation list
cells["A1:A5"].Value = "=ROUND(RAND()*100, 0)";
// Create cell validation on Column B using values from other cells
cells["B:B"].Validation.Add(SpreadsheetGear.ValidationType.List, ValidationAlertStyle.Information, ValidationOperator.Default, "=$A$1:$A$5", "");
// Create cell validation on Column C using a static list
cells["C:C"].Validation.Add(SpreadsheetGear.ValidationType.List, ValidationAlertStyle.Information, ValidationOperator.Default, "a,b,c", "");

Примечание. Я работаю в SpreadsheetGear и предоставляю техническую помощь клиентам и оценщикам нашего продукта.Если у вас есть дополнительные вопросы, обращайтесь к нам по адресу sales@spreadsheetgear.com.

2 голосов
/ 20 января 2012

Вы можете использовать проверку ячейки.Он работает аналогично тому, как вы делаете это в Excel.

private void CreateList(SpreadsheetGear.IRange cell, string list)
{
  cell.Validation.Add(
        SpreadsheetGear.ValidationType.List,
        SpreadsheetGear.ValidationAlertStyle.Warning,
        SpreadsheetGear.ValidationOperator.Default,
        list, null);
}

В программе Windows Forms вы бы назвали это примерно так:

workbookView1.GetLock();
try
{
  SpreadsheetGear.IRange cell =workbookView1.ActiveWorksheet.Cells["A1"];
  CreateList(cell, "Alabama,Alaska,Arizona,Arkansas,California,Colorado,Connecticut,Delaware,Florida");
}
finally
{
  workbookView1.ReleaseLock();
}
...