zoukankan      html  css  js  c++  java
  • Aspose Cells 添加数据验证(动态下拉列表验证)

    参考 :http://www.componentcn.com/kongjianjishu/kongjianjishu/2015-06-04/2781.html

    Aspose Cells是一款操作和处理以及转换Excel文件的类库,支持.NET和JAVA版,几乎所有Excel能实现的功能,Aspose Cells都可以实现,Microsoft Excel支持多种不同类型的数据验证,每一种类型用于控制数据输入或者单元格范围,比如经常用到的:整数验证、小数位数验证、值范围验证、时间验证、文本字符长度验证等。

    控件中国网Aspose Cells在中国的官方授权销售商和技术支持提供商,提供Aspose Cells控件下载、Aspose Cells授权、Aspose Cells正版产品销售等服务

    在Aspose Cell要实现单元格的数据验证也是相对简单的,开发人员能够为用户提供一个选择列表、限制数据输入或者是指定数据的类型和大小,在Aspose Cell里,每个工作表类都有一个Validations对象,该对象包含了一系列验证对象,包含了下面的一些属性:

    • Type:用于表示验证类型,用于指定ValidationType枚举里的类型预定值
    • Operator:用于表示使用何种运算符或者运算规则,用于指定OperatorType枚举里的预定义值
    • Formula1:首选的验证公式和表达式
    • Formula2:次选的验证公式和表达式

    数据验证类型,控件提供的ValidationType枚举有下列值:

    • AnyValue 指示一个值可以是任何类型
    • WholeNumber 指示验证类型只能是整数数字
    • Decimal 指示验证的类型只能是小数
    • List 指示验证的类型是下拉列表
    • Date 指示验证的类型是日期
    • Time 指示验证类型是时间
    • TextLength 指示验证的类型是文本长度
    • Custom 自定义验证类型

    下面的事例介绍了,如何验证一定范围内的单元格输入只能是整数,具体代码如下:

    ValidationCollection validations = workbook.Worksheets[0].Validations;

    //Creating a Validation object
    Validation validation = validations[validations.Add()];

    //Setting the validation type to whole number
    validation.Type = ValidationType.WholeNumber;

    //Setting the operator for validation to Between
    validation.Operator = OperatorType.Between;

    //Setting the minimum value for the validation
    validation.Formula1 = "10";

    //Setting the maximum value for the validation
    validation.Formula2 = "1000";

    //Applying the validation to a range of cells from A1 to B2 using the
    //CellArea structure
    CellArea area;
    area.StartRow = 0;
    area.EndRow = 1;
    area.StartColumn = 0;
    area.EndColumn = 1;

    //Adding the cell area to Validation
    validation.AreaList.Add(area);

    下面的事例介绍了如何使用小数数据验证:
    // Create a workbook object.
    Workbook workbook = new Workbook();

    // Create a worksheet and get the first worksheet.
    Worksheet ExcelWorkSheet = workbook.Worksheets[0];

    // Obtain the existing Validations collection.
    ValidationCollection validations = ExcelWorkSheet.Validations;

    // Create a validation object adding to the collection list.
    Validation validation = validations[validations.Add()];

    // Set the validation type.
    validation.Type = ValidationType.Decimal;

    // Specify the operator.
    validation.Operator = OperatorType.Between;

    // Set the lower and upper limits.
    validation.Formula1 = Decimal.MinValue.ToString();
    validation.Formula2 = Decimal.MaxValue.ToString();

    // Set the error message.
    validation.ErrorMessage = "Please enter a valid integer or decimal number";

    // Specify the validation area of cells.
    CellArea area;
    area.StartRow = 0;
    area.EndRow = 9;
    area.StartColumn = 0;
    area.EndColumn = 0;

    // Add the area.
    validation.AreaList.Add(area);

    // Set the number formats to 2 decimal places for the validation area.
    for (int i = 0; i < 10; i++)
    {
        ExcelWorkSheet.Cells[i, 0].GetStyle().Custom = "0.00";
    }

    // Save the workbook.
    workbook.Save("d:\test\decimalvalidation.xls");

    下面的事例介绍了List数据验证//注:用的较多
    // Create a workbook object.
    Workbook workbook = new Workbook();

    // Get the first worksheet.
    Worksheet worksheet1 = workbook.Worksheets[0];

    // Add a new worksheet and access it.
    int i = workbook.Worksheets.Add();
    Worksheet worksheet2 = workbook.Worksheets[i];

    // Create a range in the second worksheet.
    Range range = worksheet2.Cells.CreateRange("E1", "E4");

    // Name the range.
    range.Name = "MyRange";

    // Fill different cells with data in the range.
    range[0, 0].PutValue("Blue");
    range[1, 0].PutValue("Red");
    range[2, 0].PutValue("Green");
    range[3, 0].PutValue("Yellow");

    // Get the validations collection.
    ValidationCollection validations = worksheet1.Validations;

    // Create a new validation to the validations list.
    Validation validation = validations[validations.Add()];

    // Set the validation type.
    validation.Type = Aspose.Cells.ValidationType.List;

    // Set the operator.
    validation.Operator = OperatorType.None;

    // Set the in cell drop down.
    validation.InCellDropDown = true;

    // Set the formula1.
    validation.Formula1 = "此处是下拉列表中的数据,一般是以逗号分割的字符串";

    // Enable it to show error.
    validation.ShowError = true;

    // Set the alert type severity level.
    validation.AlertStyle = ValidationAlertType.Stop;

    // Set the error title.
    validation.ErrorTitle = "Error";

    // Set the error message.
    validation.ErrorMessage = "Please select a color from the list";

    // Specify the validation area.
    CellArea area;
    area.StartRow = 0;
    area.EndRow = 4;
    area.StartColumn = 0;
    area.EndColumn = 0;

    // Add the validation area.
    validation.AreaList.Add(area);

    // Save the Excel file.
    workbook.Save("d:\test\validationtypelist.xls");

    下面的事例介绍了,如何使用日期验证:
    // Create a workbook.
     Workbook workbook = new Workbook();

     // Obtain the cells of the first worksheet.
     Cells cells = workbook.Worksheets[0].Cells;

     // Put a string value into the A1 cell.
     cells["A1"].PutValue("Please enter Date b/w 1/1/1970 and 12/31/1999");

     // Wrap the text.
     cells["A1"].GetStyle().IsTextWrapped = true;

     // Set row height and column width for the cells.
     cells.SetRowHeight(0, 31);
     cells.SetColumnWidth(0, 35);

     // Get the validations collection.
     ValidationCollection validations = workbook.Worksheets[0].Validations;

     // Add a new validation.
     Validation validation = validations[validations.Add()];

     // Set the data validation type.
     validation.Type = ValidationType.Date;

     // Set the operator for the data validation
     validation.Operator = OperatorType.Between;

     // Set the value or expression associated with the data validation.
     validation.Formula1 = "1/1/1970";

     // The value or expression associated with the second part of the data validation.
     validation.Formula2 = "12/31/1999";

     // Enable the error.
     validation.ShowError = true;

     // Set the validation alert style.
     validation.AlertStyle = ValidationAlertType.Stop;

     // Set the title of the data-validation error dialog box
     validation.ErrorTitle = "Date Error";

     // Set the data validation error message.
     validation.ErrorMessage = "Enter a Valid Date";

     // Set and enable the data validation input message.
     validation.InputMessage = "Date Validation Type";
     validation.IgnoreBlank = true;
     validation.ShowInput = true;

     // Set a collection of CellArea which contains the data validation settings.
     CellArea cellArea;
     cellArea.StartRow = 0;
     cellArea.EndRow = 0;
     cellArea.StartColumn = 1;
     cellArea.EndColumn = 1;

     // Add the validation area.
     validation.AreaList.Add(cellArea);

     // Save the Excel file.
     workbook.Save("d:\test\datevalidation.xls");

    下面的事例介绍了,如何使用文本长度验证:
    // Create a new workbook.
    Workbook workbook = new Workbook();

    // Obtain the cells of the first worksheet.
    Cells cells = workbook.Worksheets[0].Cells;

    //Put a string value into A1 cell.
    cells["A1"].PutValue("Please enter a string not more than 5 chars");

    // Wrap the text.
    cells["A1"].GetStyle().IsTextWrapped = true;

    // Set row height and column width for the cell.
    cells.SetRowHeight(0, 31);
    cells.SetColumnWidth(0, 35);

    // Get the validations collection.
    ValidationCollection validations = workbook.Worksheets[0].Validations;

    // Add a new validation.
    Validation validation = validations[validations.Add()];

    // Set the data validation type.
    validation.Type = ValidationType.TextLength;

    // Set the operator for the data validation.
    validation.Operator = OperatorType.LessOrEqual;

    // Set the value or expression associated with the data validation.
    validation.Formula1 = "5";

    // Enable the error.
    validation.ShowError = true;

    // Set the validation alert style.
    validation.AlertStyle = ValidationAlertType.Warning;

    // Set the title of the data-validation error dialog box.
    validation.ErrorTitle = "Text Length Error";

    // Set the data validation error message.
    validation.ErrorMessage = " Enter a Valid String";

    // Set and enable the data validation input message.
    validation.InputMessage = "TextLength Validation Type";
    validation.IgnoreBlank = true;
    validation.ShowInput = true;

    // Set a collection of CellArea which contains the data validation settings.
    CellArea cellArea;
    cellArea.StartRow = 0;
    cellArea.EndRow = 0;
    cellArea.StartColumn = 1;
    cellArea.EndColumn = 1;

    // Add the validation area.
    validation.AreaList.Add(cellArea);

    // Save the Excel file.
    workbook.Save("d:\test\textlengthvalidation.xls");

  • 相关阅读:
    PTA(Basic Level)1012.数字分类
    PTA(Basic Level)1011.A+B和C
    PTA(Basic Level)1008.数组元素循环右移问题
    PTA(Basic Level)1009.说反话
    PTA(Basic Level)1010.一元多项式求导
    Leetcode 38.报数 By Python
    Leetcode 35.搜索插入位置 By Python
    查看Linux的所有线程
    Linux内核模块编程——Hello World模块
    JSP内置对象总结
  • 原文地址:https://www.cnblogs.com/feigao/p/4857439.html
Copyright © 2011-2022 走看看