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);
    }
}

该代码演示的是汇总每个区域中各种商品销售的金额,生成的透视表如下图: