数据透视表和源数据
Contents
[
Hide
]
数据透视表的源数据
有时您想要创建 Microsoft Excel 报告,其中包含从设计时未知的不同数据源(例如数据库)获取数据的数据透视表。本文提供了一种动态更改数据透视表数据源的方法。
更改数据透视表的源数据
-
创建一个新的设计器模板。
-
如下图所示创建一个新的设计器模板文件。 1.然后定义一个命名范围,数据源,它指的是这个单元格范围。
创建设计器模板并定义命名范围、DataSource
-
基于这个命名范围创建数据透视表。
-
在 Microsoft Excel 中,选择数据, 然后数据透视表和数据透视图报表.
-
根据第一步创建的命名范围创建数据透视表。
基于命名范围 DataSource 创建数据透视表
-
将相应的字段拖动到数据透视表的行和列,然后创建结果数据透视表,如下面的屏幕截图所示。
根据相应字段创建数据透视表
-
右键单击数据透视表并选择表格选项.
-
检查打开时刷新在数据选项设置。
设置数据透视表选项
现在,您可以将此文件保存为设计器模板文件。
- 填充新数据和更改数据透视表的源数据。
- 创建设计器模板后,使用以下代码更改数据透视表的源数据。
执行下面的示例代码会更改数据透视表的源数据,数据透视表将如下所示。
动态变化的数据透视表
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(ChangeSourceData.class) + "PivotTables/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(dataDir + "PivotTable.xls"); | |
// Accessing the first worksheet in the Excel file | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Populating new data to the worksheet cells | |
Cells cells = worksheet.getCells(); | |
Cell cell = cells.get("A9"); | |
cell.setValue("Golf"); | |
cell = cells.get("B9"); | |
cell.setValue("Qtr4"); | |
cell = cells.get("C9"); | |
cell.setValue(7000); | |
// Changing named range "DataSource" | |
Range range = cells.createRange(0, 0, 8, 2); | |
range.setName("DataSource"); | |
// Saving the modified Excel file in default format | |
workbook.save(dataDir + "ChangeSourceData_out.xls"); |