Java 自定义Excel数据排序

通常,我们可以在

通常,我们可以在Excel中对指定列数据执行升序或者降序排序,排序时可依据单元格中的数值、单元格颜色、字体颜色或图标等。在需要自定义排序情况下,我们也可以自行根据排序需要编辑数据排列顺序。本文,将通过Java应用程序来实现如何自定义排序。

1.引入jar包

使用jar包:Spire.Xls.jar version: 12.8.4

导入方法1:手动下载jar到本地,解压,然后找到lib文件夹下的Spire.Xls.jar文件。然后在IDEA中打开“Project Structure”界面,执行如图步骤手动导入:

导入方法2:Maven仓库下载,如下配置pom.xml文件:


    
        com.e-iceblue
        e-iceblue
        https://repo.e-iceblue.cn/repository/maven-public/
    


    
        e-iceblue
        spire.xls
        12.8.4
    

2.自定义排序

设置自定义排序时,可参考如下步骤来执行:

  • 创建 Workbook 类的对象,并调用 Workbook.loadFromFile(String fileName) 方法加载Excel 文档。

  • 通过 Workbook.getWorksheets().get(int Index) 方法获取指定工作表。

  • 通过 Worksheet.getCellRange(String name) 方法获取指定单元格区域。

  • 使用 Workbook.getDataSorter().getSortColumns().add(int Key, String[] customSortOrder) 方法自定义排序。

  • 通过 Workbook.getDataSorter().sort(CellRange range) 方法应用数据自定义排序的单元格区域范围。

  • 最后,使用 Workbook.saveToFile(String fileName, ExcelVersion version) 方法保存文件。

Java

import com.spire.xls.*;
 
public class CustomSorting {
    public static void main(String[] args) {
        //加载Excel文档
        Workbook workbook = new Workbook();
        workbook.loadFromFile("test.xlsx");
 
        //获取第一张工作表
        Worksheet worksheet = workbook.getWorksheets().get(0);
 
        //获取单元格区域
        CellRange range = worksheet.getCellRange("A2:I16");
 
        //指定需要排序的列索引,并自定义排序
        workbook.getDataSorter().getSortColumns().add(4, new String[]
                {"DE","OLB", "WR", "OL", "RB","DT","TE","LB","CB","S","VB","G"}
        );
 
        //应用排序范围
        workbook.getDataSorter().sort(range);
 
        //保存文档
        workbook.saveToFile("CustomSorting.xlsx",ExcelVersion.Version2010);
    }
}



 —END—


请使用浏览器的分享功能分享到微信等