我们可以对Excel中的数据进行排序,Spire.XLS支持以下三种排序方式:
- 基于单元格的值
- 基于单元格的背景颜色
- 基于单元格的字体颜色
本文将对这三种排序方式逐一进行介绍。
基于单元格的值
C#
//创建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);
VB.NET
'创建Workbook实例
Dim workbook As New Workbook()
'加载Excel文档
workbook.LoadFromFile("SortData.xlsx")
'获取第一个工作表
Dim worksheet As Worksheet = workbook.Worksheets(0)
'指定需要排序的列索引以及排序的方式 (基于单元格的值)
Dim column As SortColumn = 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)
基于单元格的背景颜色
C#
//创建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);
VB.NET
'创建Workbook实例
Dim workbook As New Workbook()
'加载Excel文档
workbook.LoadFromFile("SortData.xlsx")
'获取第二个工作表
Dim worksheet As Worksheet = workbook.Worksheets(1)
'指定需要排序的列索引以及排序的方式 (基于单元格的背景颜色)
Dim column As SortColumn = 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)
基于单元格的字体颜色
C#
//创建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);
VB.NET
'创建Workbook实例
Dim workbook As New Workbook()
'加载Excel文档
workbook.LoadFromFile("SortData.xlsx")
'获取第三个工作表
Dim worksheet As Worksheet = workbook.Worksheets(2)
'指定需要排序的列索引以及排序的方式 (基于单元格的字体颜色)
Dim column As SortColumn = 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)