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文件:

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>12.8.4</version>
    </dependency>
</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

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—

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章