Когда вам нужно быстро проанализировать данные на листе 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”