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); } }
该代码演示的是汇总每个区域中各种商品销售的金额,生成的透视表如下图: