Aspose Cells如何进行数据验证(后附下载地址)
作者:控件中国网 2015-06-04
Aspose Cells是一款操作和处理以及转换Excel文件的类库,支持.NET和JAVA版,几乎所有Excel能实现的功能,Aspose Cells都可以实现,Microsoft Excel支持多种不同类型的数据验证,每一种类型用于控制数据输入或者单元格范围,比如经常用到的:整数验证、小数位数验证、值范围验证、时间验证、文本字符长度验证等。
下面咱们首先看在Microsoft Excel里是怎么进行数据验证的:
1. 在工作表里,选择您想应用验证的某个单元格
2. 从"数据"菜单里,选择"验证",会马上弹出验证对话框,选择"设置"标签并且输入相关设置即可。
在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 = "=MyRange";
// 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");
Aspose Cells下载地址:http://www.componentcn.com/kongjianchanpin/yonghujiemian/biaogekongjian/2014-09-16/174.html
Aspose Cells产品介绍地址:http://www.componentcn.com/kongjianchanpin/yonghujiemian/biaogekongjian/2014-09-16/174.html