Excel 数据透视表具有强大的数据处理功能,能够使表格中的数据更加直观化。使用Excel 数据透视表,能方便用户快速的排序、 筛选各种数据,同时也能满足用户对不同数据汇总的需求。本文将介绍如何在Java应用程序中创建Excel数据透视表及设置透视表的格式。
使用工具: Free Spire. XLS for Java ( 免费版 )
Jar文件导入方法
方法一:
下载最新的 Free Spire. XLS for Java 包并解压缩 , 然后从lib文件夹下, 将 Spire. Xls .jar包 导入 到你的Java应用程序中。 ( 导入成功 后 如下图所示 )
方法二:
通过 Maven仓库安装 导入 。 详细的操作步骤 请参考链接 :
https://www.e-iceblue.cn/licensing/install-spirepdf-for-java-from-maven-repository.html
Java代码示例
import com.spire.xls.*;
public class CreatePivotTable {
public static void main(String[] args) { //加载示例文档
Workbook workbook = new Workbook();
workbook.loadFromFile("Sample.xlsx"); //获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0); //为需要汇总和创建分析的数据创建缓存
CellRange dataRange = sheet.getCellRange("B1:D11");
PivotCache cache = workbook.getPivotCaches().add(dataRange); //使用缓存创建数据透视表,并指定透视表的名称以及在工作表中的位置
PivotTable pt = sheet.getPivotTables().add("Pivot Table", sheet.getCellRange("F4"), cache); //添加行字段
PivotField pf=null;
if (pt.getPivotFields().get("区域") instanceof PivotField){
pf= (PivotField) pt.getPivotFields().get("区域");
}
pf.setAxis(AxisTypes.Row);
PivotField pf2 =null;
if (pt.getPivotFields().get("商品") instanceof PivotField){
pf2= (PivotField) pt.getPivotFields().get("商品");
}
pf2.setAxis(AxisTypes.Row); //添加值字段
pt.getDataFields().add(pt.getPivotFields().get("金额"), "求和项:金额", SubtotalTypes.Sum); //设置透视表样式
pt.setBuiltInStyle(PivotBuiltInStyles.PivotStyleMedium12); //保存文档
workbook.saveToFile("透视表.xlsx", ExcelVersion.Version2013);
}
}
该代码演示的是汇总每个区域中各种商品销售的金额,生成的透视表如下图: