Рубрики
Без рубрики

Создание сводной таблицы и сводной диаграммы в Excel на Java

В этой статье показано, как создать сводную таблицу и сводную диаграмму в Excel на Java. Помеченный java, excel, сводной таблицей, сводной диаграммой.

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