Spire.XLS数据处理系列教程:如何数据排序和数据验证

Spire.XLS for .NET 是一款专业的 .NET Excel 组件, 它可以用在各种.NET 框架中,在Excel表格中单元格也是我们经常会使用到的格式,这时我们如何使用Spire.XLS来完成呢?这就是本系列教程将给大家详细讲解的。

更多资源查看:Spire.XLS工作表教程 | Spire.Doc系列教程 | Spire.PDF系列教程

下载Spire.XLS最新试用版

Spire.XLS for .NET 是一款专业的 .NET Excel 组件, 它可以用在各种.NET 框架中,包括 .NET Core、ASP.NET 和 Windows Forms 等相关的.NET 应用程序。在Excel表格中单元格也是我们经常会使用到的格式,这时我们如何使用Spire.XLS来完成呢就是本系列教程将给大家详细讲解的。

C# Excel 数据排序

我们可以对Excel中的数据进行排序,Spire.XLS支持以下三种排序方式:

  • 基于单元格的值
  • 基于单元格的背景颜色
  • 基于单元格的字体颜色


基于单元格的值

//创建Workbook实例Workbook workbook = new Workbook();//加载Excel文档workbook.LoadFromFile(@"SortData.xlsx");//获取第一个工作表Worksheet worksheet = workbook.Worksheets[0];//指定需要排序的列索引以及排序的方式 (基于单元格的值)SortColumn column = workbook.DataSorter.SortColumns.Add(0, SortComparsionType.Values, OrderBy.Descending);//排序是否包含标题(默认第一个数据为标题,不会对它进行排序)workbook.DataSorter.IsIncludeTitle = false;//指定要排序的单元格范围并进行排序workbook.DataSorter.Sort(worksheet.Range["A2:A9"]);//保存文档workbook.SaveToFile(@"SortByValues.xlsx", ExcelVersion.Version2010);

Spire.XLS数据处理系列教程:如何数据排序和数据验证

基于单元格的背景颜色

//创建Workbook实例Workbook workbook = new Workbook();//加载Excel文档workbook.LoadFromFile(@"SortData.xlsx");//获取第二个工作表Worksheet worksheet = workbook.Worksheets[1];//指定需要排序的列索引以及排序的方式 (基于单元格的背景颜色)SortColumn column = workbook.DataSorter.SortColumns.Add(0, SortComparsionType.BackgroundColor, OrderBy.Top);//指定背景颜色column.Color = Color.Red;//排序是否包含标题(默认第一个数据为标题,不会对它进行排序)workbook.DataSorter.IsIncludeTitle = false;//指定要排序的单元格范围并进行排序workbook.DataSorter.Sort(worksheet.Range["A2:A8"]);//保存文档workbook.SaveToFile(@"SortByCellColor.xlsx", ExcelVersion.Version2010);

Spire.XLS数据处理系列教程:如何数据排序和数据验证

基于单元格的字体颜色

//创建Workbook实例Workbook workbook = new Workbook();//加载Excel文档workbook.LoadFromFile(@"SortData.xlsx");//获取第三个工作表Worksheet worksheet = workbook.Worksheets[2];//指定需要排序的列索引以及排序的方式 (基于单元格的字体颜色) SortColumn column = workbook.DataSorter.SortColumns.Add(0, SortComparsionType.FontColor, OrderBy.Bottom);//指定字体颜色column.Color = Color.Red;//排序是否包含标题(默认第一个数据为标题,不会对它进行排序)workbook.DataSorter.IsIncludeTitle = false;//指定要排序的单元格范围并进行排序workbook.DataSorter.Sort(worksheet.Range["A2:A8"]);//保存文档workbook.SaveToFile(@"SortByFontColor.xlsx", ExcelVersion.Version2010);

Spire.XLS数据处理系列教程:如何数据排序和数据验证

C# 设置 Excel 数据验证/数据有效性

Spire.XLS 支持的数据验证类型:

  • 数字验证
  • 序列验证
  • 文本长度验证
  • 时间验证
  • 日期验证
  • 自定义验证


数字验证

Validation numberValidation = sheet.Range["C1"].DataValidation;//整数验证numberValidation.AllowType = CellDataType.Integer;//小数验证//numberValidation.AllowType = CellDataType.Decimal;//限制输入1-10之间的整数numberValidation.CompareOperator = ValidationComparisonOperator.Between;numberValidation.Formula1 = "1";numberValidation.Formula2 = "10";

序列验证

Validation listValidation = sheet.Range["C2"].DataValidation;listValidation.Values = new string[] { "销售", "人力资源", "研发", "财务" };

文本长度验证

Validation txtLengthvalidation = sheet.Range["C3"].DataValidation;txtLengthvalidation.AllowType = CellDataType.TextLength;txtLengthvalidation.CompareOperator = ValidationComparisonOperator.Between;//限制输入的文本长度在1-5之间txtLengthvalidation.Formula1 = "1";txtLengthvalidation.Formula2 = "5";

时间验证

Validation timeValidation = sheet.Range["C4"].DataValidation;timeValidation.AllowType = CellDataType.Time;timeValidation.CompareOperator = ValidationComparisonOperator.Between;//限制输入时间在00.00到24.00之间timeValidation.Formula1 = "00.00";timeValidation.Formula2 = "24.00";

日期验证

Validation dateValidation = sheet.Range["C5"].DataValidation;dateValidation.AllowType = CellDataType.Date;dateValidation.CompareOperator = ValidationComparisonOperator.Between;//限制输入日期在2016/5/10到2017/5/10之间dateValidation.DateTime1 = new DateTime(2016, 5, 10);dateValidation.DateTime2 = new DateTime(2017, 5, 10);

自定义验证

Validation customValidation = sheet.Range["C6"].DataValidation;customValidation.AllowType = CellDataType.User;customValidation.Formula1 = "=A1>10";

完整代码

Workbook workbook = new Workbook();Worksheet sheet = workbook.Worksheets[0];//数字验证Validation numberValidation = sheet.Range["C1"].DataValidation;//整数验证numberValidation.AllowType = CellDataType.Integer;//小数验证//numberValidation.AllowType = CellDataType.Decimal;numberValidation.CompareOperator = ValidationComparisonOperator.Between;numberValidation.Formula1 = "1";numberValidation.Formula2 = "10";            //设置错误提示信息numberValidation.AlertStyle = AlertStyleType.Stop;numberValidation.ShowError = true;numberValidation.ErrorTitle = "Error";numberValidation.ErrorMessage = "请输入1-10之间的整数";            //序列验证Validation listValidation = sheet.Range["C2"].DataValidation;listValidation.Values = new string[] { "销售", "人力资源", "研发", "财务" };listValidation.IsSuppressDropDownArrow = false;//设置错误提示信息listValidation.AlertStyle = AlertStyleType.Stop;listValidation.ShowError = true;listValidation.ErrorTitle = "Error";listValidation.ErrorMessage = "请从序列中选择一个项目";            //文本长度验证Validation txtLengthvalidation = sheet.Range["C3"].DataValidation;txtLengthvalidation.AllowType = CellDataType.TextLength;txtLengthvalidation.CompareOperator = ValidationComparisonOperator.Between;txtLengthvalidation.Formula1 = "1";txtLengthvalidation.Formula2 = "5";            //设置错误提示信息txtLengthvalidation.AlertStyle = AlertStyleType.Stop;txtLengthvalidation.ShowError = true;txtLengthvalidation.ErrorTitle = "Error";txtLengthvalidation.ErrorMessage = "输入的文本长度应该在1-5之间";//时间验证Validation timeValidation = sheet.Range["C4"].DataValidation;timeValidation.AllowType = CellDataType.Time;timeValidation.CompareOperator = ValidationComparisonOperator.Between;timeValidation.Formula1 = "00.00";timeValidation.Formula2 = "24.00";            //设置错误提示信息timeValidation.AlertStyle = AlertStyleType.Stop;timeValidation.ShowError = true;timeValidation.ErrorTitle = "Error";timeValidation.ErrorMessage = "输入的时间应该在00.00到24.00之间";//日期验证Validation dateValidation = sheet.Range["C5"].DataValidation;dateValidation.AllowType = CellDataType.Date;dateValidation.CompareOperator = ValidationComparisonOperator.Between;dateValidation.DateTime1 = new DateTime(2016, 5, 10);dateValidation.DateTime2 = new DateTime(2017, 5, 10);            //设置错误提示信息dateValidation.AlertStyle = AlertStyleType.Stop;dateValidation.ShowError = true;dateValidation.ErrorTitle = "Error";dateValidation.ErrorMessage = "输入的日期应该在2016/5/10到2017/5/10之间";//自定义验证Validation customValidation = sheet.Range["C6"].DataValidation;customValidation.AllowType = CellDataType.User;customValidation.Formula1 = "=A1>10";            //设置错误提示信息customValidation.AlertStyle = AlertStyleType.Stop;customValidation.ShowError = true;customValidation.ErrorTitle = "Error";customValidation.ErrorMessage = "无法输入!A1的数据小于10";//保存文档workbook.SaveToFile("Output.xlsx",FileFormat.Version2013);

*想要购买Spire.XLS正版授权的朋友可以联系客服哦~

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年6月27日
下一篇 2019年6月27日

相关推荐

发表回复

登录后才能评论