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>//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—