[]
GcExcel Java 允许用户在工作表中创建透视表。 IPivotCache 和 IPivotCaches 接口存储工作簿中的所有数据透视缓存。
可以使用以下任一方法在工作表中创建数据透视表:
使用 IPivotCache接口的 createPivotTable 方法
使用 IPivotTables 接口的 add 方法
要使用add方法在工作表中创建透视表,请参阅以下示例代码。
// Source data for PivotCache
Object sourceData = new Object[][]
{
{ "Order ID", "Product", "Category", "Amount", "Date", "Country" },
{ 1, "Carrots", "Vegetables", 4270, new GregorianCalendar(2018, 0, 6),"United States" },
{ 2, "Broccoli", "Vegetables", 8239, new GregorianCalendar(2018, 0, 7),"United Kingdom" },
{ 3, "Banana", "Fruit", 617, new GregorianCalendar(2018, 0, 8),"United States" },
{ 4, "Banana", "Fruit", 8384, new GregorianCalendar(2018, 0, 10),"Canada" },
{ 5, "Beans", "Vegetables", 2626, new GregorianCalendar(2018, 0, 10),"Germany" },
{ 6, "Orange", "Fruit", 3610, new GregorianCalendar(2018, 0, 11),"United States" },
{ 7, "Broccoli", "Vegetables", 9062, new GregorianCalendar(2018, 0, 11),"Australia" },
{ 8, "Banana", "Fruit", 6906, new GregorianCalendar(2018, 0, 16),"New Zealand" },
{ 9, "Apple", "Fruit", 2417, new GregorianCalendar(2018, 0, 16),"France" },
{ 10, "Apple", "Fruit", 7431, new GregorianCalendar(2018, 0, 16),"Canada" },
{ 11, "Banana", "Fruit", 8250, new GregorianCalendar(2018, 0, 16),"Germany" },
{ 12, "Broccoli", "Vegetables", 7012, new GregorianCalendar(2018, 0, 18),"United States" },
{ 13, "Carrots", "Vegetables", 1903, new GregorianCalendar(2018, 0, 20),"Germany" },
{ 14, "Broccoli", "Vegetables", 2824, new GregorianCalendar(2018, 0, 22),"Canada" },
{ 15, "Apple", "Fruit", 6946, new GregorianCalendar(2018, 0, 24),"France" },
};
// Initialize the workBook and fetch the default workSheet
Workbook workbook = new Workbook();
IWorksheet worksheet = workbook.getWorksheets().get(0);
// Assigning data to the range
worksheet.getRange("A1:F16").setValue(sourceData);
worksheet.getRange("A:F").setColumnWidth(15);
// Creating pivot
IPivotCache pivotcache = workbook.getPivotCaches().create(worksheet.getRange("A1:F16"));
IPivotTable pivottable = worksheet.getPivotTables().add(pivotcache,
worksheet.getRange("H7"), "pivottable1");
worksheet.getRange("D2:D16").setNumberFormat("$#,##0.00");
worksheet.getRange("I9:O11").setNumberFormat("$#,##0.00");
worksheet.getRange("H:O").setColumnWidth(12);