Java 自定義Excel資料排序

2022-09-15 12:00:39

通常,我們可以在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—