通常,我們可以在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—
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/508746.html
標籤:Java
