Excel 中使用数据透视表 Pivot Table

http://www.cnblogs.com/waitrabbit/archive/2010/06/29/1767702.html

 "数据透视表"  英文是 Pivot Table ,直接翻译是轴向旋转表 ,什么意思呢? 及把我们的数据分成多个维度来进行统计,可以理解为我们平时说的简单报表。

(透视表?当初是那个白痴汉化的?)。举个例子来说明。

 

假设我们有如下的Excel数据表:

 图1

 

可以看到销售员和产品列有许多重复的字段,那么如果我们想得到两个统计信息:每名销售员每种产品的销售额情况每种产品的销售额,我们应该怎么使用“透视表”得到呢?

在当前表菜单上“插入”->"数据透视表",英文版为 “Insert”-> "Pivot Table”。

图2

 

红色区域为要分析的数据所在区域,即我们上面的销售数据,蓝色区域为存放“透视表”及统计报表的区域。最好在一个新的SHEET中。

 

点击透视表区域,出现如下图,如果不小心关了,点击右键“Show filed list”:

图3

把我们想要的字段托到图示位置,显然统一销售员每种产品的销售情况,我们希望的纵轴是“销售员”,横轴为“产品”,统计信息为求和“销售数量”。分别对应为Row Labels, Column Labels, Values. 设置完成后会出现如下透视表:

图4

这样就完成了我们的第一个报表。

那么每种产品的销售情况怎么做? 只要在图3 的界面中 把“产品名称”拖拽到 Row labels, "销售数量"拖拽到Values 即可。读者自行实践即可。

 

注意在图3的界面中,我们可以使用拖拽和勾选CheckBox实现对字段配置和删除等操作。只要我们心中有了报表的设计样子,按照我们的设想,配置字段就可以了。

 

注意一点,源数据更新后,透视表数据并不会自动更新,需要右键->Refresh 一下。还可以在每次打开数据透视表时自动更新其中的数据。右键单击任意单元格 “Pivot Table Option” > "Data" .选中 " Refersh the data when open file".

 

另外,数据统计默认是求和,如果是求最大值等等,右键单击任意单元格->"Value Filed Setting" ,可以设置其他统计方式,如下图:

 

 

简单报表就生成好了,下一讲我们可能结合具体例子,讲讲明细表等的应用。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
是的,Java可以使用Apache POI库来实现数据透视表功能。POI库提供了一个类名为XSSFPivotTable的类来创建和管理数据透视表。下面是一个简单的示例代码,演示如何使用POI库来创建数据透视表: ```java // 创建工作簿和工作表 Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet("Data"); // 填充数据到单元格 Row row; Cell cell; for (int i = 0; i < 10; i++) { row = sheet.createRow(i); for (int j = 0; j < 5; j++) { cell = row.createCell(j); cell.setCellValue("Data" + i + j); } } // 创建数据透视表 AreaReference source = new AreaReference("A1:E9", SpreadsheetVersion.EXCEL2007); Sheet pivotSheet = workbook.createSheet("Pivot"); CellReference position = new CellReference("A1"); XSSFPivotTable pivotTable = pivotSheet.createPivotTable(source, position); // 设置数据透视表字段 pivotTable.addRowLabel(0); pivotTable.addColumnLabel(DataConsolidateFunction.SUM, 1); pivotTable.addColumnLabel(DataConsolidateFunction.AVERAGE, 2); // 输出结果到控制台 for (Row pivotRow : pivotTable) { for (Cell pivotCell : pivotRow) { System.out.print(pivotCell.toString() + "\t"); } System.out.println(); } // 保存工作簿 FileOutputStream fileOut = new FileOutputStream("workbook.xlsx"); workbook.write(fileOut); fileOut.close(); ``` 以上代码会创建一个包含10行5列数据的工作表,然后使用这些数据创建一个数据透视表,最后将结果输出到控制台并保存工作簿到文件。这只是一个简单的例子,POI库提供了更多的API,可以用来更灵活地创建和管理数据透视表

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值