本文将介绍如何使用Spire.XLS 在Java应用程序中创建Excel数据透视表及设置透视表的格式。
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("A1:C19");
PivotCache cache = workbook.getPivotCaches().add(dataRange);
//使用缓存创建数据透视表,并指定透视表的名称以及在工作表中的位置
PivotTable pt = sheet.getPivotTables().add("Pivot Table", sheet.getCellRange("E10"), cache);
//添加行字段
PivotField pf=null;
if (pt.getPivotFields().get("Name") instanceof PivotField){
pf= (PivotField) pt.getPivotFields().get("Name");
}
pf.setAxis(AxisTypes.Row);
PivotField pf2 =null;
if (pt.getPivotFields().get("Area") instanceof PivotField){
pf2= (PivotField) pt.getPivotFields().get("Area");
}
pf2.setAxis(AxisTypes.Row);
//添加值字段
pt.getDataFields().add(pt.getPivotFields().get("Population"), "SUM of Count", SubtotalTypes.Sum);
//设置透视表样式
pt.setBuiltInStyle(PivotBuiltInStyles.PivotStyleMedium12);
//保存文档
workbook.saveToFile("output/CreatePivotTable.xlsx", ExcelVersion.Version2013);
}
}
效果图: