Как создать круговую диаграмму Excel в Java

Круговая диаграмма, также известная как круговая диаграмма, позволяет непосредственно построить график общих пропорций каждого компонента. Круговая диаграмма помогает быстрее и интуитивно понятнее анализировать абстрактные данные. В этой статье будет показано, как создать круговую диаграмму в Excel в Java-приложениях с помощью Spire.XLS for Java.

  • Создание круговой диаграммы
  • Создать круговую диаграмму со взрывом
  • Создание круговой диаграммы с одним взорванным фрагментом
  • Создание диаграммы «Пончик

Установка Spire.XLS for Java

Сначала вам необходимо добавить файл Spire.Xls.jar в качестве зависимости в вашу программу на Java. JAR-файл можно загрузить по этой ссылке. Если вы используете Maven, вы можете легко импортировать JAR-файл в свое приложение, добавив следующий код в файл pom.xml вашего проекта.

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>12.7.0</version>
    </dependency>
</dependencies>

Вход в полноэкранный режим Выход из полноэкранного режима

Создание круговой диаграммы

Круговая диаграмма — это обычная круговая диаграмма, которая используется для отображения одного ряда данных в структуре типа круга, где каждый сектор представляет отдельную категорию. Spire.XLS for Java предлагает метод Worksheet.getCharts().add(ExcelChartType.Pie) для добавления круговой диаграммы на рабочий лист Excel.

  • Создайте экземпляр рабочей книги.
  • Получите указанный рабочий лист с помощью метода Workbook.getWorksheets().get(sheetIndex).
  • Добавьте некоторые данные в рабочий лист и установите значения, стили и формат чисел для ячеек Excel.
  • Добавьте круговую диаграмму на рабочий лист с помощью метода Worksheet.getCharts().add(ExcelChartType.Pie).
  • Установите диапазон данных для диаграммы с помощью метода Chart.setDataRange().
  • Установите позицию и заголовок для диаграммы.
  • Сохраните документ в файл с помощью метода Workbook.saveToFile().
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;
import java.awt.*;

public class pieChart {

    public static void main(String[] args) throws Exception {
        //create a Workbook
        Workbook workbook = new Workbook();

        //get the first sheet and set its name
        Worksheet sheet = workbook.getWorksheets().get(0);
        sheet.setName("Pie Chart");

        //set value of specified cell
        sheet.getCellRange("A1").setValue("System");
        sheet.getCellRange("A2").setValue("Linux");
        sheet.getCellRange("A3").setValue("Mac OS");
        sheet.getCellRange("A4").setValue("Windows");
        sheet.getCellRange("A5").setValue("Unix");

        sheet.getCellRange("B1").setValue("Users");
        sheet.getCellRange("B2").setNumberValue(0.08);
        sheet.getCellRange("B3").setNumberValue(0.15);
        sheet.getCellRange("B4").setNumberValue(0.75);
        sheet.getCellRange("B5").setNumberValue(0.02);

        //set style of cells
        sheet.getCellRange("A1:B1").setRowHeight(15);
        sheet.getCellRange("A1:B1").getCellStyle().setColor(Color.darkGray);
        sheet.getCellRange("A1:B1").getCellStyle().getExcelFont().setColor(Color.white);
        sheet.getCellRange("A1:B1").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);
        sheet.getCellRange("A1:B1").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);

        //Set number format of cells
        sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat("0%");

        //Add a pie chart
        Chart piechart = sheet.getCharts().add(ExcelChartType.Pie);

        //Set data range for the chart
        piechart.setDataRange(sheet.getCellRange("B2:B5"));
        piechart.setSeriesDataFromRange(false);

        //Set position of the chart
        piechart.setLeftColumn(4);
        piechart.setTopRow(1);
        piechart.setRightColumn(10);
        piechart.setBottomRow(20);

        //Set and format chart title
        piechart.setChartTitle("Users of System");
        piechart.getChartTitleArea().isBold(true);
        piechart.getChartTitleArea().setSize(12);

        ChartSerie cs = piechart.getSeries().get(0);
        cs.setCategoryLabels(sheet.getCellRange("A2:A5"));
        cs.setValues(sheet.getCellRange("B2:B5"));
        cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
        piechart.getPlotArea().getFill().setVisible(false);

        //Save the result file
        workbook.saveToFile("PieChart.xlsx", ExcelVersion.Version2016);
        workbook.dispose();

    }
}
Вход в полноэкранный режим Выйти из полноэкранного режима

Создание покомпонентной круговой диаграммы.

Ниже перечислены основные шаги по созданию покомпонентной круговой диаграммы. Взрывная круговая диаграмма используется для того, чтобы вытащить все срезы из круговой диаграммы и просмотреть сектора отдельно по частям.

  • Создайте экземпляр рабочей книги.
  • Получите указанный рабочий лист с помощью метода Workbook.getWorksheets().get(sheetIndex).
  • Добавьте некоторые данные в рабочий лист и установите значения, стили и формат чисел ячеек Excel.
  • Добавьте на рабочий лист взорванную круговую диаграмму с помощью метода Worksheet.getCharts().add(ExcelChartType.PieExploded).
  • Установите диапазон данных для диаграммы с помощью метода Chart.setDataRange().
  • Установите позицию и заголовок для диаграммы.
  • Сохраните документ в файл с помощью метода Workbook.saveToFile().
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;
import java.awt.*;

public class pieExplodedchart {

    public static void main(String[] args) throws Exception {
        //create a Workbook
        Workbook workbook = new Workbook();

        //get the first sheet and set its name
        Worksheet sheet = workbook.getWorksheets().get(0);
        sheet.setName("Pie Chart");

        //set value of specified cell
        sheet.getCellRange("A1").setValue("System");
        sheet.getCellRange("A2").setValue("Linux");
        sheet.getCellRange("A3").setValue("Mac OS");
        sheet.getCellRange("A4").setValue("Windows");
        sheet.getCellRange("A5").setValue("Unix");

        sheet.getCellRange("B1").setValue("Users");
        sheet.getCellRange("B2").setNumberValue(0.08);
        sheet.getCellRange("B3").setNumberValue(0.15);
        sheet.getCellRange("B4").setNumberValue(0.75);
        sheet.getCellRange("B5").setNumberValue(0.02);

        //set style of cells
        sheet.getCellRange("A1:B1").setRowHeight(15);
        sheet.getCellRange("A1:B1").getCellStyle().setColor(Color.darkGray);
        sheet.getCellRange("A1:B1").getCellStyle().getExcelFont().setColor(Color.white);
        sheet.getCellRange("A1:B1").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);
        sheet.getCellRange("A1:B1").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);

        //Set number format of cells
        sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat("0%");

        //Add a pie chart
        Chart piechart = sheet.getCharts().add(ExcelChartType.PieExploded);

        //Set data range for the chart
        piechart.setDataRange(sheet.getCellRange("B2:B5"));
        piechart.setSeriesDataFromRange(false);

        //Set position of the chart
        piechart.setLeftColumn(4);
        piechart.setTopRow(1);
        piechart.setRightColumn(10);
        piechart.setBottomRow(20);

        //Set and format chart title
        piechart.setChartTitle("Users of System");
        piechart.getChartTitleArea().isBold(true);
        piechart.getChartTitleArea().setSize(12);

        ChartSerie cs = piechart.getSeries().get(0);
        cs.setCategoryLabels(sheet.getCellRange("A2:A5"));
        cs.setValues(sheet.getCellRange("B2:B5"));
        cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
        piechart.getPlotArea().getFill().setVisible(false);

        //Save the result file
        workbook.saveToFile("PieExplodedChart.xlsx", ExcelVersion.Version2016);
        workbook.dispose();

    }
}

Вход в полноэкранный режим Выйти из полноэкранного режима

Создание круговой диаграммы с одним покомпонентным срезом

Это очень похоже на круговую диаграмму. Вам нужно только взорвать один ломтик из всей круговой диаграммы.

  • Создайте экземпляр рабочей книги.
  • Получите указанный рабочий лист с помощью метода Workbook.getWorksheets().get(sheetIndex).
  • Добавьте некоторые данные в рабочий лист и установите значения, стили и формат чисел для ячеек Excel.
  • Добавьте круговую диаграмму на рабочий лист с помощью метода Worksheet.getCharts().add(ExcelChartType.Pie).
  • Установите диапазон данных для диаграммы с помощью метода Chart.setDataRange().
  • Установите позицию и заголовок для диаграммы.
  • Выделите один конкретный фрагмент из всей круговой диаграммы с помощью метода Chart.getSeries().get(0).getDataPoints().get(1).getDataFormat().setPercent(20).
  • Сохраните документ в файл с помощью метода Workbook.saveToFile().
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;
import java.awt.*;

public class explodedPieChart {

    public static void main(String[] args) throws Exception {
        //create a Workbook
        Workbook workbook = new Workbook();

        //get the first sheet and set its name
        Worksheet sheet = workbook.getWorksheets().get(0);
        sheet.setName("Pie Chart");

        //set value of specified cell
        sheet.getCellRange("A1").setValue("System");
        sheet.getCellRange("A2").setValue("Linux");
        sheet.getCellRange("A3").setValue("Mac OS");
        sheet.getCellRange("A4").setValue("Windows");
        sheet.getCellRange("A5").setValue("Unix");

        sheet.getCellRange("B1").setValue("Users");
        sheet.getCellRange("B2").setNumberValue(0.08);
        sheet.getCellRange("B3").setNumberValue(0.15);
        sheet.getCellRange("B4").setNumberValue(0.75);
        sheet.getCellRange("B5").setNumberValue(0.02);

        //set style of cells
        sheet.getCellRange("A1:B1").setRowHeight(15);
        sheet.getCellRange("A1:B1").getCellStyle().setColor(Color.darkGray);
        sheet.getCellRange("A1:B1").getCellStyle().getExcelFont().setColor(Color.white);
        sheet.getCellRange("A1:B1").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);
        sheet.getCellRange("A1:B1").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);

        //Set number format of cells
        sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat("0%");

        //Add a pie chart
        Chart piechart = sheet.getCharts().add(ExcelChartType.Pie);

        //Set data range for the chart
        piechart.setDataRange(sheet.getCellRange("B2:B5"));
        piechart.setSeriesDataFromRange(false);

        //Set position of the chart
        piechart.setLeftColumn(4);
        piechart.setTopRow(1);
        piechart.setRightColumn(10);
        piechart.setBottomRow(20);

        //Set and format chart title
        piechart.setChartTitle("Users of System");
        piechart.getChartTitleArea().isBold(true);
        piechart.getChartTitleArea().setSize(12);

        ChartSerie cs = piechart.getSeries().get(0);
        cs.setCategoryLabels(sheet.getCellRange("A2:A5"));
        cs.setValues(sheet.getCellRange("B2:B5"));
        cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
        piechart.getPlotArea().getFill().setVisible(false);

        //Exploded the specific slice from the pie chart
        piechart.getSeries().get(0).getDataPoints().get(1).getDataFormat().setPercent(20);

        //Save the result file
        workbook.saveToFile("ExplodedPieChart2.xlsx", ExcelVersion.Version2016);
        workbook.dispose();

    }
}

Вход в полноэкранный режим Выход из полноэкранного режима

Создание круговой диаграммы «Пончик

Круговая диаграмма «Пончик», у которой отсутствует центральный круг, — это диаграмма, имеющая форму пончика.

  • Создайте экземпляр рабочей книги.
  • Получите указанный рабочий лист с помощью метода Workbook.getWorksheets().get(sheetIndex).
  • Добавьте некоторые данные в рабочий лист и установите значения, стили и формат чисел для ячеек Excel.
  • Добавьте на рабочий лист диаграмму в виде пончика с помощью метода Worksheet.getCharts().add(ExcelChartType.Doughnut).
  • Установите диапазон данных для диаграммы с помощью метода Chart.setDataRange().
  • Установите позицию и заголовок для диаграммы.
  • Сохраните документ в файл с помощью метода Workbook.saveToFile().
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;
import java.awt.*;

public class doughnutChart {

    public static void main(String[] args) throws Exception {
        //create a Workbook
        Workbook workbook = new Workbook();

        //get the first sheet and set its name
        Worksheet sheet = workbook.getWorksheets().get(0);
        sheet.setName("Doughnut Chart");

        //set value of specified cell
        sheet.getCellRange("A1").setValue("System");
        sheet.getCellRange("A2").setValue("Linux");
        sheet.getCellRange("A3").setValue("Mac OS");
        sheet.getCellRange("A4").setValue("Windows");
        sheet.getCellRange("A5").setValue("Unix");

        sheet.getCellRange("B1").setValue("Users");
        sheet.getCellRange("B2").setNumberValue(0.08);
        sheet.getCellRange("B3").setNumberValue(0.15);
        sheet.getCellRange("B4").setNumberValue(0.75);
        sheet.getCellRange("B5").setNumberValue(0.02);

        //set style of cells
        sheet.getCellRange("A1:B1").setRowHeight(15);
        sheet.getCellRange("A1:B1").getCellStyle().setColor(Color.darkGray);
        sheet.getCellRange("A1:B1").getCellStyle().getExcelFont().setColor(Color.white);
        sheet.getCellRange("A1:B1").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);
        sheet.getCellRange("A1:B1").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);

        //Set number format of cells
        sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat("0%");

        //Add a pie chart
        Chart piechart = sheet.getCharts().add(ExcelChartType.Doughnut);

        //Set data range for the chart
        piechart.setDataRange(sheet.getCellRange("B2:B5"));
        piechart.setSeriesDataFromRange(false);

        //Set position of the chart
        piechart.setLeftColumn(4);
        piechart.setTopRow(1);
        piechart.setRightColumn(10);
        piechart.setBottomRow(20);

        //Set and format chart title
        piechart.setChartTitle("Users of System");
        piechart.getChartTitleArea().isBold(true);
        piechart.getChartTitleArea().setSize(12);

        ChartSerie cs = piechart.getSeries().get(0);
        cs.setCategoryLabels(sheet.getCellRange("A2:A5"));
        cs.setValues(sheet.getCellRange("B2:B5"));
        cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
        piechart.getPlotArea().getFill().setVisible(false);

        //Save the result file
        workbook.saveToFile("DoughnutChart.xlsx", ExcelVersion.Version2016);
        workbook.dispose();

    }
}
Вход в полноэкранный режим Выход из полноэкранного режима

Заключение

В этой статье мы показали, как создать круговую диаграмму в Excel на Java. Spire.XLS for Java также поддерживает создание диаграмм столбцов, диаграмм рассеяния или линейных диаграмм на листах Excel. Вы можете проверить форум Excel для получения дополнительной информации о добавлении других типов диаграмм в файлы Excel.

Оцените статью
devanswers.ru
Добавить комментарий