如何使用Java建立資料透視表並匯出為PDF

葡萄城技術團隊發表於2023-10-08

摘要:本文由葡萄城技術團隊原創並首發。轉載請註明出處:葡萄城官網,葡萄城為開發者提供專業的開發工具、解決方案和服務,賦能開發者。
前言

資料透視分析是一種強大的工具,可以幫助我們從大量資料中提取有用資訊並進行深入分析。而在Java開發中,可以藉助PivotTable,透過資料透視分析揭示資料中的隱藏模式和趨勢。本文將介紹如何使用Java來構建PivotTable以及實現資料透視分析,並將其匯出為PDF。

建立資料透視表並匯出為PDF

建立步驟:

  1. 建立工作簿(workbook),工作表(worksheet)。
  2. 設定資料:在指定位置設定資料區域。
  3. 建立PivotTable:在Excel檔案中選擇需要建立PivotTable的資料區域,並指定行、列、值和篩選器欄位。
  4. 設定PivotTable選項:設定PivotTable的樣式、格式、資料計算方式等選項。
  5. 生成PivotTable報表:使用API介面,將建立好的PivotTable匯出為PDF檔案。

具體程式碼參考如下:

// 1.建立一個workbook
 Workbook workbook = new Workbook();
 // 2.設定樣例資料
 Object sourceData = new Object[][]{
     {"Order ID", "Product", "Category", "Amount", "Date", "Country"},
     {1, "Bose 785593-0050", "Consumer Electronics", 4270, new GregorianCalendar(2018, 0, 6), "United States"},
     {2, "Canon EOS 1500D", "Consumer Electronics", 8239, new GregorianCalendar(2018, 0, 7), "United Kingdom"},
     {3, "Haier 394L 4Star", "Consumer Electronics", 617, new GregorianCalendar(2018, 0, 8), "United States"},
     {4, "IFB 6.5 Kg FullyAuto", "Consumer Electronics", 8384, new GregorianCalendar(2018, 0, 10), "Canada"},
     {5, "Mi LED 40inch", "Consumer Electronics", 2626, new GregorianCalendar(2018, 0, 10), "Germany"},
     {6, "Sennheiser HD 4.40-BT", "Consumer Electronics", 3610, new GregorianCalendar(2018, 0, 11), "United States"},
     {7, "Iphone XR", "Mobile", 9062, new GregorianCalendar(2018, 0, 11), "Australia"},
     {8, "OnePlus 7Pro", "Mobile", 6906, new GregorianCalendar(2018, 0, 16), "New Zealand"},
     {9, "Redmi 7", "Mobile", 2417, new GregorianCalendar(2018, 0, 16), "France"},
     {10, "Samsung S9", "Mobile", 7431, new GregorianCalendar(2018, 0, 16), "Canada"},
     {11, "OnePlus 7Pro", "Mobile", 8250, new GregorianCalendar(2018, 0, 16), "Germany"},
     {12, "Redmi 7", "Mobile", 7012, new GregorianCalendar(2018, 0, 18), "United States"},
     {13, "Bose 785593-0050", "Consumer Electronics", 1903, new GregorianCalendar(2018, 0, 20), "Germany"},
     {14, "Canon EOS 1500D", "Consumer Electronics", 2824, new GregorianCalendar(2018, 0, 22), "Canada"},
     {15, "Haier 394L 4Star", "Consumer Electronics", 6946, new GregorianCalendar(2018, 0, 24), "France"},
 };
 //建立worksheet
 IWorksheet worksheet = workbook.getWorksheets().get(0);
 worksheet.getRange("G1:L16").setValue(sourceData);
 worksheet.getRange("G:L").setColumnWidth(15);
 //3.設定PivotTable
 IPivotCache pivotcache = workbook.getPivotCaches().create(worksheet.getRange("G1:L16"));
 IPivotTable pivottable = worksheet.getPivotTables().add(pivotcache, worksheet.getRange("A1"), "pivottable1");
 worksheet.getRange("J1:J16").setNumberFormat("$#,##0.00");

 //4.配置透視表的欄位
 IPivotField field_Category = pivottable.getPivotFields().get("Category");
 field_Category.setOrientation(PivotFieldOrientation.ColumnField);

 IPivotField field_Product = pivottable.getPivotFields().get("Product");
 field_Product.setOrientation(PivotFieldOrientation.RowField);

 IPivotField field_Amount = pivottable.getPivotFields().get("Amount");
 field_Amount.setOrientation(PivotFieldOrientation.DataField);
 field_Amount.setNumberFormat("$#,##0.00");

 IPivotField field_Country = pivottable.getPivotFields().get("Country");
 field_Country.setOrientation(PivotFieldOrientation.PageField);

 worksheet.getRange("A:D").getEntireColumn().autoFit();

 // 5.匯出PDF
 workbook.save("CreatePivotTable.pdf", SaveFileFormat.Pdf);

總結

資料透視分析的優勢:

  1. 快速洞察資料:PivotTable利用資料透視分析的功能,可以迅速彙總和呈現大量的資料,幫助我們從不同維度去了解資料背後的模式和趨勢。透過選擇相應的行、列和值欄位,我們可以靈活地展示資料,發現其中的規律。
  2. 靈活性和可定製性:PivotTable的建立和設定非常靈活和可定製。可以根據實際需求選擇不同的欄位、排序方式、統計方法等,以滿足特定的資料分析要求。
  3. 視覺化和易於理解:透過將資料以互動式和視覺化的方式展示在PivotTable中,我們可以更直觀地理解資料的含義和關係。透過操作PivotTable的欄位和選項,我們能夠快速調整和重新組織資料,以便更好地理解和分析資料。

擴充套件連結:

如何在前端系統中使用甘特圖

視窗函式大揭秘!輕鬆計算資料累計佔比,玩轉資料分析的絕佳利器

探秘移動端BI:發展歷程與應用前景解析

相關文章