• Java 自定义Excel数据排序


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

    1.引入jar包

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

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

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

    1. <repositories>
    2. <repository>
    3. <id>com.e-iceblueid>
    4. <name>e-icebluename>
    5. <url>https://repo.e-iceblue.cn/repository/maven-public/url>
    6. repository>
    7. repositories>
    8. <dependencies>
    9. <dependency>
    10. <groupId>e-icebluegroupId>
    11. <artifactId>spire.xlsartifactId>
    12. <version>12.8.4version>
    13. dependency>
    14. dependencies>

    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

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

    —END—

  • 相关阅读:
    你不知道的环形链表 ??
    安装使用RocketMQ一套保姆全教程-最快完成SpringBoot使用消息队列demo
    Bsdiff,Bspatch 的差分增量升级(基于Win和Linux)
    【C++】哈希-bitset位图与模拟
    JVM Optimization Learning(四)
    docker安装Jenkins完整教程
    Selenium和Requests搭配使用
    RISC-V学习基础(四)
    Java之线程状态
    golang 运算符
  • 原文地址:https://blog.csdn.net/Eiceblue/article/details/126866953