Kontingenční tabulky v excelových tabulkách se používají k interaktivnímu shrnutí dat. Předpokládejme, že máte v listu data několika faktur. V takovém případě můžete použít kontingenční tabulku k sečtení faktur seskupených podle zákazníků nebo produktů. V tomto článku se dozvíte, jak programově zacházet s kontingenčními tabulkami v Excelu. Zejména se dozvíte, jak vytvořit kontingenční tabulku v Excelu pomocí Java. Dále také vygenerujeme grafy na základě kontingenční tabulky.

Java API pro vytvoření kontingenční tabulky v Excelu

K vytvoření kontingenční tabulky Excel použijeme Aspose.Cells for Java. Jedná se o výkonné rozhraní API, které vám umožňuje generovat, upravovat a převádět soubory aplikace Excel z vašich aplikací Java. Rozhraní API si můžete buď stáhnout, nebo jej nainstalovat pomocí následujících konfigurací Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>21.4</version>
</dependency>

Vytvořte kontingenční tabulku v Excelu pomocí Java

Následují kroky k vytvoření kontingenční tabulky v Excelu pomocí Java.

Následující ukázka kódu ukazuje, jak přidat kontingenční tabulku v aplikaci Excel.

// Vytvořte instanci objektu sešitu
Workbook workbook = new Workbook("worksheet.xlsx");

// Přístup k listu
Worksheet sheet2 = workbook.getWorksheets().get(1);

// Získejte kolekci kontingenčních tabulek v listu
PivotTableCollection pivotTables = sheet2.getPivotTables();

// Přidejte do listu kontingenční tabulku
int index = pivotTables.add("=Data!A1:F30", "B3", "PivotTable1");

// Získejte přístup k instanci nově přidané kontingenční tabulky
PivotTable pivotTable = pivotTables.get(index);

// Ukažte celkové součty
pivotTable.setRowGrand(true);
pivotTable.setColumnGrand(true);

// Nastavit Kontingenční tabulka je automaticky formátována
pivotTable.setAutoFormat(true);

// Nastavte typ automatického formátu kontingenční tabulky.
pivotTable.setAutoFormatType(PivotTableAutoFormatType.REPORT_6);

// Přetáhněte první pole do oblasti řádku.
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);

// Přetáhněte třetí pole do oblasti řádku.
pivotTable.addFieldToArea(PivotFieldType.ROW, 2);

// Přetáhněte druhé pole do oblasti řádku.
pivotTable.addFieldToArea(PivotFieldType.ROW, 1);

// Přetáhněte čtvrté pole do oblasti sloupců.
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 3);

// Přetáhněte páté pole do datové oblasti.
pivotTable.addFieldToArea(PivotFieldType.DATA, 5);

// Nastavte formát čísla prvního datového pole
pivotTable.getDataFields().get(0).setNumber(7);

// Uložte soubor aplikace Excel
workbook.save("pivotTable.xls");

Data aplikace Excel

Zdroj dat pro kontingenční tabulku Excel

Kontingenční tabulka

vytvořit kontingenční tabulku v excelu v Javě

Vygenerujte graf pomocí kontingenčních tabulek Excel v Javě

Následují kroky ke generování grafu pomocí kontingenčních tabulek Excelu v Javě.

Následující ukázka kódu ukazuje, jak vygenerovat graf pomocí kontingenční tabulky Excel.

 // Vytvořte instanci objektu sešitu
 Workbook workbook = new Workbook("pivotTable.xls");
 
 // Přidejte nový list
 int sheetIndex = workbook.getWorksheets().add(SheetType.CHART);
 Worksheet sheet3 = workbook.getWorksheets().get(sheetIndex);
 
 // Pojmenujte list
 sheet3.setName("PivotChart");
 
 // Přidejte sloupcový graf
 int chartIndex = sheet3.getCharts().add(ChartType.COLUMN, 0, 5, 28, 16);
 Chart chart = sheet3.getCharts().get(chartIndex);
 
 // Nastavte zdroj dat kontingenčního grafu
 chart.setPivotSource("PivotTable!PivotTable1");
 chart.setHidePivotFieldButtons(false);
 
 // Uložte soubor Excel
 workbook.save("pivotChart_test.xls");

Získejte bezplatnou licenci API

Můžete získat bezplatnou dočasnou licenci k používání API bez omezení hodnocení.

Závěr

V tomto článku jste se naučili, jak vytvořit kontingenční tabulku v Excelu pomocí Java. Dále jste viděli, jak generovat grafy pomocí kontingenčních tabulek v Excelu. Více o Java Excel API můžete prozkoumat pomocí dokumentace. V případě jakýchkoli dotazů nás neváhejte kontaktovat prostřednictvím našeho fóra.

Viz také