Когда вам нужно быстро проанализировать данные на листе Excel и увидеть сравнения, закономерности и тенденции в данных, вашим первым побуждением может быть создание сводной таблицы. Но иногда не у всех есть время взглянуть на данные в таблице и посмотреть, что происходит. Сводная диаграмма облегчает понимание данных, представляя их в графическом виде. В этой статье я расскажу, как создать сводную таблицу и сводную диаграмму в файле Excel на Java с помощью Freespire. XLS для Java API .
Добавление зависимостей
Прежде всего, вам нужно добавить необходимые зависимости для включения бесплатного Spire. XLS для Java в ваш Java-проект. Есть два способа сделать это.
Если вы используете maven, вам необходимо добавить следующий код в свой проект pom.xml файл.
com.e-iceblue e-iceblue http://repo.e-iceblue.com/nexus/content/groups/public/ e-iceblue spire.xls.free 3.9.1
Для проектов, не связанных с maven, скачайте бесплатный Spire. XLS для Java с этого веб-сайта , распакуйте пакет и добавьте Spire.Xls.jar в папке lib в вашем проекте в качестве зависимости.
Создание Сводной Таблицы
Свободный дух. XLS для Java API предоставляет коллекцию сводных таблиц Xls.метод добавления , который используется для добавления сводной таблицы на лист Excel. В следующем примере показано, как создать файл Excel, добавить данные на лист Excel, а затем создать сводную таблицу для анализа данных на листе.
import com.spire.xls.*; public class CreatePivotTable { public static void main(String[] args) { //Create a workbook Workbook workbook = new Workbook(); Worksheet sheet = workbook.getWorksheets().get(0); //Add some data to the worksheet sheet.getCellRange("A1").setValue("Product"); sheet.getCellRange("B1").setValue("Month"); sheet.getCellRange("C1").setValue("Sale"); sheet.getCellRange("A2").setValue("Coffee"); sheet.getCellRange("A3").setValue("Coffee"); sheet.getCellRange("A4").setValue("Chocolate"); sheet.getCellRange("A5").setValue("Chocolate"); sheet.getCellRange("A6").setValue("Milk"); sheet.getCellRange("A7").setValue("Milk"); sheet.getCellRange("B2").setValue("January"); sheet.getCellRange("B3").setValue("February"); sheet.getCellRange("B4").setValue("January"); sheet.getCellRange("B5").setValue("February"); sheet.getCellRange("B6").setValue("January"); sheet.getCellRange("B7").setValue("February"); sheet.getCellRange("C2").setValue("1000"); sheet.getCellRange("C3").setValue("1500"); sheet.getCellRange("C4").setValue("900"); sheet.getCellRange("C5").setValue("700"); sheet.getCellRange("C6").setValue("800"); sheet.getCellRange("C7").setValue("1000"); //Add a PivotTable to the worksheet CellRange dataRange = sheet.getCellRange("A1:C7"); PivotCache cache = workbook.getPivotCaches().add(dataRange); PivotTable pt = sheet.getPivotTables().add("Pivot Table", sheet.getCellRange("A10"), cache); //Drag the fields to the row area PivotField pf =null; if (pt.getPivotFields().get("Product") instanceof PivotField){ pf= (PivotField) pt.getPivotFields().get("Product"); } pf.setAxis(AxisTypes.Row); PivotField pf2 =null; if (pt.getPivotFields().get("Month") instanceof PivotField){ pf2= (PivotField) pt.getPivotFields().get("Month"); } pf2.setAxis(AxisTypes.Row); //Drag the field to the data area pt.getDataFields().add(pt.getPivotFields().get("Sale"), "SUM of Sale", SubtotalTypes.Sum); //Set PivotTable style pt.setBuiltInStyle(PivotBuiltInStyles.PivotStyleMedium12); //Calculate data pt.calculateData(); //Set column width sheet.setColumnWidth(1, 14); sheet.setColumnWidth(2, 14); //Save the result file workbook.saveToFile("CreatePivotTable.xlsx", ExcelVersion.Version2013); } }
Выход:
Создание Сводной диаграммы
Чтобы добавить сводную диаграмму на рабочий лист Excel, необходимо использовать метод Коллекция диаграмм рабочего листа.добавить . В следующем примере вы увидите, как добавить сводную диаграмму на рабочий лист Excel.
import com.spire.xls.*; import com.spire.xls.core.IPivotTable; public class CreatePivotChart { public static void main(String[] args) { //Load the Excel file Workbook workbook = new Workbook(); workbook.loadFromFile("CreatePivotTable.xlsx"); //Get the first worksheet Worksheet sheet = workbook.getWorksheets().get(0); //get the first pivot table in the worksheet IPivotTable pivotTable = sheet.getPivotTables().get(0); //Add a clustered column chart based on the pivot table to the second worksheet Chart chart = workbook.getWorksheets().get(1).getCharts().add(ExcelChartType.ColumnClustered, pivotTable); //Set chart position chart.setTopRow(2); chart.setBottomRow(15); //Set chart title chart.setChartTitle("Total"); //Save the result file workbook.saveToFile("CreatPivotChart.xlsx", ExcelVersion.Version2013); } }
Выход:
Оригинал: “https://dev.to/eiceblue/create-pivot-table-and-pivot-chart-in-excel-in-java-598n”