Java在Excel中創(chuàng)建透視表方法解析
本文內(nèi)容介紹通過(guò)Java程序在Excel表格中根據(jù)數(shù)據(jù)來(lái)創(chuàng)建透視表。
環(huán)境準(zhǔn)備
需要使用Excel類庫(kù)工具—Free Spire.XLS for Java,這里使用的是免費(fèi)版,可通過(guò)官網(wǎng)下載Jar包并解壓,手動(dòng)導(dǎo)入lib文件夾下的Spire.Xls.jar到Java程序;或者也可以通過(guò)Maven倉(cāng)庫(kù)下載導(dǎo)入。
Java代碼示例
import com.spire.xls.*;
public class CreatePivotTable {
public static void main(String[] args) {
//加載Excel測(cè)試文檔
Workbook wb = new Workbook();
wb.loadFromFile("test.xlsx");
//獲取第一個(gè)的工作表
Worksheet sheet = wb.getWorksheets().get(0);
//為需要匯總和分析的數(shù)據(jù)創(chuàng)建緩存
CellRange dataRange = sheet.getCellRange("A1:D10");
PivotCache cache = wb.getPivotCaches().add(dataRange);
//使用緩存創(chuàng)建數(shù)據(jù)透視表,并指定透視表的名稱以及在工作表中的位置
PivotTable pt = sheet.getPivotTables().add("PivotTable",sheet.getCellRange("A12"),cache);
//添加行字段1
PivotField pf1 = null;
if (pt.getPivotFields().get("月份") instanceof PivotField){
pf1 = (PivotField) pt.getPivotFields().get("月份");
}
pf1.setAxis(AxisTypes.Row);
//添加行字段2
PivotField pf2 = null;
if (pt.getPivotFields().get("廠商") instanceof PivotField){
pf2 = (PivotField) pt.getPivotFields().get("廠商");
}
pf2.setAxis(AxisTypes.Row);
//設(shè)置行字段的標(biāo)題
pt.getOptions().setRowHeaderCaption("月份");
//添加列字段
PivotField pf3 = null;
if (pt.getPivotFields().get("產(chǎn)品") instanceof PivotField){
pf3 = (PivotField) pt.getPivotFields().get("產(chǎn)品");
}
pf3.setAxis(AxisTypes.Column);
//設(shè)置列字段標(biāo)題
pt.getOptions().setColumnHeaderCaption("產(chǎn)品");
//添加值字段
pt.getDataFields().add(pt.getPivotFields().get("總產(chǎn)量"),"求和項(xiàng):總產(chǎn)量",SubtotalTypes.Sum);
//設(shè)置透視表樣式
pt.setBuiltInStyle(PivotBuiltInStyles.PivotStyleDark12);
//保存文檔
wb.saveToFile("數(shù)據(jù)透視表.xlsx", ExcelVersion.Version2013);
wb.dispose();
}
}
結(jié)果

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java實(shí)現(xiàn)word轉(zhuǎn)pdf or直接生成pdf文件
這篇文章主要介紹了java實(shí)現(xiàn)word轉(zhuǎn)pdf or直接生成pdf文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
解決springboot+activemq啟動(dòng)報(bào)注解錯(cuò)誤的問(wèn)題
這篇文章主要介紹了解決springboot+activemq啟動(dòng)報(bào)注解錯(cuò)誤的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
iOS socket網(wǎng)絡(luò)編程實(shí)例詳解
socket是一個(gè)針對(duì)TCP和UDP編程的接口,你可以借助它建立TCP連接等。這篇文章主要介紹了iOS socket網(wǎng)絡(luò)編程 ,需要的朋友可以參考下2017-03-03
解決JPA?save()方法null值覆蓋掉mysql預(yù)設(shè)的默認(rèn)值問(wèn)題
這篇文章主要介紹了解決JPA?save()方法null值覆蓋掉mysql預(yù)設(shè)的默認(rèn)值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Mybatis自定義TypeHandler解決特殊類型轉(zhuǎn)換問(wèn)題詳解
這篇文章主要介紹了Mybatis自定義TypeHandler解決特殊類型轉(zhuǎn)換問(wèn)題詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
idea中文件被Mark as Plain Text后恢復(fù)方式
在IntelliJ IDEA中,如果錯(cuò)誤地將文件標(biāo)記為純文本(Mark as Plain Text),可以通過(guò)在項(xiàng)目目錄中右鍵點(diǎn)擊文件并選擇“Mark as”來(lái)恢復(fù)原文件類型2024-11-11
Idea中maven無(wú)法下載依賴包問(wèn)題解決
用過(guò)idea開(kāi)發(fā)過(guò)項(xiàng)目的同學(xué),偶爾會(huì)遇到項(xiàng)目中有一些依賴沒(méi)法下載,或者依賴包已經(jīng)有項(xiàng)目卻無(wú)法掃到的問(wèn)題,本文就詳細(xì)的介紹了解決方法,感興趣的可以了解一下2020-08-08

