Java 自定义Excel数据排序

打印 上一主题 下一主题

主题 844|帖子 844|积分 2532

通常,我们可以在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文件:
  1. <repositories>
  2.     <repository>
  3.         <id>com.e-iceblue</id>
  4.         <name>e-iceblue</name>
  5.         <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
  6.     </repository>
  7. </repositories>
  8. <dependencies>
  9.     <dependency>
  10.         <groupId>e-iceblue</groupId>
  11.         <artifactId>spire.xls</artifactId>
  12.         <version>12.8.4</version>
  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—

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

八卦阵

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表