[]
IPivotItem 对应于 IPivotField 中的单个项值。使用此接口可处理该项的名称、源名称、位置、可见性、展开状态以及计算项公式。可从数据透视字段的 IPivotItems 集合获取数据透视项。
worksheet.getRange("A1:B4").setValue(new Object[][] {
{"Category", "Amount"},
{"Beverages", 100},
{"Snacks", 200},
{"Beverages", 150}
});
IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet.getRange("A1:B4"));
IPivotTable pivotTable = worksheet.getPivotTables().add(pivotCache, worksheet.getRange("D1"), "SalesPivot");
IPivotField field = pivotTable.getPivotFields().get("Category");
field.setOrientation(PivotFieldOrientation.RowField);
IPivotItem item = field.getPivotItems().get(0);
item.setVisible(false);
getName()intbooleanbooleanvoidsetCaption(String value) voidsetFormula(String value) voidvoidsetPosition(int value) voidsetShowDetail(boolean value) voidsetVisible(boolean value) 标题是在 PivotTable 布局中显示的文本。当项具有自定义标签时,它可以不同于 getName() 和 getSourceName()。
Workbook workbook = new Workbook();
IWorksheet worksheet = workbook.getWorksheets().get(0);
worksheet.getRange("A1:C5").setValue(new Object[][] {
{"Product", "Region", "Amount"},
{"Apple", "East", 10},
{"Banana", "West", 20},
{"Carrot", "East", 30},
{"Date", "West", 40}
});
IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet.getRange("A1:C5"));
IPivotTable pivotTable = worksheet.getPivotTables().add(pivotCache, worksheet.getRange("E1"), "PivotTable1");
pivotTable.getPivotFields().get("Product").setOrientation(PivotFieldOrientation.RowField);
pivotTable.getPivotFields().get("Amount").setOrientation(PivotFieldOrientation.DataField);
IPivotItem item = pivotTable.getPivotFields().get("Product").getPivotItems().get("Apple");
item.setCaption("Fresh Apple");
String caption = item.getCaption();
null。null 值会清除标题重写值。
Workbook workbook = new Workbook();
IWorksheet worksheet = workbook.getWorksheets().get(0);
worksheet.getRange("A1:C5").setValue(new Object[][] {
{"Product", "Region", "Amount"},
{"Apple", "East", 10},
{"Banana", "West", 20},
{"Carrot", "East", 30},
{"Date", "West", 40}
});
IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet.getRange("A1:C5"));
IPivotTable pivotTable = worksheet.getPivotTables().add(pivotCache, worksheet.getRange("E1"), "PivotTable1");
pivotTable.getPivotFields().get("Product").setOrientation(PivotFieldOrientation.RowField);
pivotTable.getPivotFields().get("Amount").setOrientation(PivotFieldOrientation.DataField);
IPivotItem item = pivotTable.getPivotFields().get("Product").getPivotItems().get("Apple");
item.setCaption("Fresh Apple");
String caption = item.getCaption();
value - PivotItem 的显示标题重写值。使用 null 可清除标题重写值。此方法返回该项在其父级 IPivotField 中的当前名称。如果在创建 PivotTable 后重命名了该项,则返回的值可能与 getSourceName() 不同。
worksheet.getRange("A1:B4").setValue(new Object[][] {
{"Product", "Amount"},
{"Apple", 100},
{"Banana", 80},
{"Apple", 120}
});
IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet.getRange("A1:B4"));
IPivotTable pivotTable = worksheet.getPivotTables().add(pivotCache, worksheet.getRange("D1"), "SalesPivot");
IPivotField field = pivotTable.getPivotFields().get("Product");
field.setOrientation(PivotFieldOrientation.RowField);
String name = field.getPivotItems().get("Apple").getName();
此方法设置该项在其父级 IPivotField 中的当前名称。如果在创建 PivotTable 之后该项被重命名,则返回的值可能与 getSourceName() 不同。
worksheet.getRange("A1:B4").setValue(new Object[][] {
{"Product", "Amount"},
{"Apple", 100},
{"Banana", 80},
{"Apple", 120}
});
IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet.getRange("A1:B4"));
IPivotTable pivotTable = worksheet.getPivotTables().add(pivotCache, worksheet.getRange("D1"), "SalesPivot");
IPivotField field = pivotTable.getPivotFields().get("Product");
field.setOrientation(PivotFieldOrientation.RowField);
field.getPivotItems().get(0).setName("Orange");
value - pivot 项的当前名称。该值表示该项在字段中的显示顺序。
worksheet.getRange("A1:B4").setValue(new Object[][] {
{"Product", "Amount"},
{"Apple", 100},
{"Banana", 80},
{"Carrot", 120}
});
IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet.getRange("A1:B4"));
IPivotTable pivotTable = worksheet.getPivotTables().add(pivotCache, worksheet.getRange("D1"), "SalesPivot");
IPivotField field = pivotTable.getPivotFields().get("Product");
field.setOrientation(PivotFieldOrientation.RowField);
int position = field.getPivotItems().get("Apple").getPosition();
此值表示该项在字段中的显示顺序。
worksheet.getRange("A1:B4").setValue(new Object[][] {
{"Product", "Amount"},
{"Apple", 100},
{"Banana", 80},
{"Carrot", 120}
});
IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet.getRange("A1:B4"));
IPivotTable pivotTable = worksheet.getPivotTables().add(pivotCache, worksheet.getRange("D1"), "SalesPivot");
IPivotField field = pivotTable.getPivotFields().get("Product");
field.setOrientation(PivotFieldOrientation.RowField);
field.getPivotItems().get("Apple").setPosition(0);
value - 该项当前显示时,数据透视项在其字段中的位置。此属性返回数据透视项在其父 数据透视字段中的当前大纲状态。
worksheet.getRange("A1:B4").setValue(new Object[][] {
{"Category", "Amount"}, {"Fruit", 100}, {"Fruit", 200}, {"Drink", 50}
});
IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet.getRange("A1:B4"));
IPivotTable pivotTable = worksheet.getPivotTables().add(pivotCache, worksheet.getRange("D1"), "PivotTable1");
pivotTable.getPivotFields().get("Category").setOrientation(PivotFieldOrientation.RowField);
pivotTable.getPivotFields().get("Amount").setOrientation(PivotFieldOrientation.DataField);
pivotTable.update();
boolean expanded = pivotTable.getPivotFields().get("Category").getPivotItems().get("Fruit").getShowDetail();
true;否则为 false。此属性设置该数据透视项在其父 数据透视字段中的当前大纲状态。
worksheet.getRange("A1:B4").setValue(new Object[][] {
{"Category", "Amount"}, {"Fruit", 100}, {"Fruit", 200}, {"Drink", 50}
});
IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet.getRange("A1:B4"));
IPivotTable pivotTable = worksheet.getPivotTables().add(pivotCache, worksheet.getRange("D1"), "PivotTable1");
pivotTable.getPivotFields().get("Category").setOrientation(PivotFieldOrientation.RowField);
pivotTable.getPivotFields().get("Amount").setOrientation(PivotFieldOrientation.DataField);
pivotTable.update();
pivotTable.getPivotFields().get("Category").getPivotItems().get("Fruit").setShowDetail(true);
value - 如果数据透视项已展开,则为 true;否则为 false。如果该项是在创建 PivotTable 后被重命名的,则此值可能与当前项名称不同。
worksheet.getRange("A1:B3").setValue(new Object[][] {
{"Product", "Amount"},
{"Coffee", 100},
{"Tea", 200}
});
IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet.getRange("A1:B3"));
IPivotTable pivotTable = worksheet.getPivotTables().add(pivotCache, worksheet.getRange("D1"), "SalesPivot");
IPivotField field = pivotTable.getPivotFields().get("Product");
field.setOrientation(PivotFieldOrientation.RowField);
IPivotItem item = field.getPivotItems().get("Coffee");
String sourceName = item.getSourceName();
此方法返回该项在其父 数据透视字段中的当前可见性状态。使用 setVisible(boolean) 可更改该项的可见性。
worksheet.getRange("A1:B3").setValue(new Object[][] {
{"Product", "Amount"},
{"Example Speaker", 100},
{"Example Camera", 200}
});
IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet.getRange("A1:B3"));
IPivotTable pivotTable = worksheet.getPivotTables().add(pivotCache, worksheet.getRange("D1"), "PivotTable1");
IPivotField productField = pivotTable.getPivotFields().get("Product");
productField.setOrientation(PivotFieldOrientation.RowField);
pivotTable.getPivotFields().get("Amount").setOrientation(PivotFieldOrientation.DataField);
productField.getPivotItems().get("Example Speaker").setVisible(false);
boolean visible = productField.getPivotItems().get("Example Speaker").getVisible();
true;否则为 false。
worksheet.getRange("A1:B3").setValue(new Object[][] {
{"Product", "Amount"},
{"Example Speaker", 100},
{"Example Camera", 200}
});
IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet.getRange("A1:B3"));
IPivotTable pivotTable = worksheet.getPivotTables().add(pivotCache, worksheet.getRange("D1"), "PivotTable1");
IPivotField productField = pivotTable.getPivotFields().get("Product");
productField.setOrientation(PivotFieldOrientation.RowField);
pivotTable.getPivotFields().get("Amount").setOrientation(PivotFieldOrientation.DataField);
productField.getPivotItems().get("Example Speaker").setVisible(false);
value - 如果数据透视项可见,则为 true;否则为 false。使用此方法可获取在 PivotTable 字段中为计算项定义的公式文本。
worksheet.getRange("A1:C4").setValue(new Object[][] {
{"Product", "Category", "Amount"},
{"Apple", "Fruit", 10},
{"Banana", "Fruit", 20},
{"Carrot", "Vegetable", 15}
});
IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet.getRange("A1:C4"));
IPivotTable pivotTable = pivotCache.createPivotTable(worksheet.getRange("E1"), "PivotTable1");
pivotTable.getPivotFields().get("Product").setOrientation(PivotFieldOrientation.RowField);
pivotTable.getPivotFields().get("Category").setOrientation(PivotFieldOrientation.ColumnField);
pivotTable.getPivotFields().get("Amount").setOrientation(PivotFieldOrientation.DataField);
IPivotItem item = pivotTable.getPivotFields().get("Product").getCalculatedItems().add("TotalFruit", "=Apple + Banana");
String formula = item.getFormula();
使用此方法可设置为 PivotTable 字段中的计算项定义的公式文本。
worksheet.getRange("A1:C4").setValue(new Object[][] {
{"Product", "Category", "Amount"},
{"Apple", "Fruit", 10},
{"Banana", "Fruit", 20},
{"Carrot", "Vegetable", 15}
});
IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet.getRange("A1:C4"));
IPivotTable pivotTable = pivotCache.createPivotTable(worksheet.getRange("E1"), "PivotTable1");
pivotTable.getPivotFields().get("Product").setOrientation(PivotFieldOrientation.RowField);
pivotTable.getPivotFields().get("Category").setOrientation(PivotFieldOrientation.ColumnField);
pivotTable.getPivotFields().get("Amount").setOrientation(PivotFieldOrientation.DataField);
IPivotItem item = pivotTable.getPivotFields().get("Product").getCalculatedItems().add("TotalFruit", "=Apple + Banana");
item.setFormula("=Apple + Carrot");
value - 计算项的公式文本。