Carl Smith
Carl Smith
Read 3 minutes

JAVA/ СОЗДАЙТЕ ЛИНЕЙНУЮ ДИАГРАММУ В EXCEL

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

Зависимость от импорта (два метода)

Метод 1. Загрузите Free Spire.XLS for Java и разархивируйте его, затем добавьте файл Spire.Xls.jar в свой проект в качестве зависимости.

Метод 2. Вы также можете добавить зависимость jar в проект maven, добавив следующие конфигурации в pom.xml.

repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>http://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.xls.free</artifactId> <version>5.1.0</version> </dependency> </dependencies>

Образец кода

Метод Worksheet.getCharts().add(ExcelChartType.Line), предлагаемый Free Spire.XLS для Java, позволяет вставлять линейную диаграмму на рабочий лист Excel. Полный пример кода показан ниже.

import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;

import java.awt.*;

public class CreateLineChart {
public static void main(String []args){
//Создайте экземпляр Workbook
Workbook workbook = new Workbook();

//Получить первый рабочий лист
Worksheet sheet = workbook.getWorksheets().get(0);

//Скрыть линии сетки
sheet.setGridLinesVisible(false);

//Добавьте некоторые данные на лист
sheet.getRange().get("A1").setValue("Страна");
sheet.getRange().get("A2").setValue("Куба");
sheet.getRange().get("A3").setValue("Мексика");
sheet.getRange().get("A4").setValue("Франция");
sheet.getRange().get("A5").setValue("Германия");

sheet.getRange().get("B1").setValue("июнь");
sheet.getRange().get("B2").setNumberValue(3300);
sheet.getRange().get("B3").setNumberValue(2300);
sheet.getRange().get("B4").setNumberValue(4500);
sheet.getRange().get("B5").setNumberValue(6700);

sheet.getRange().get("C1").setValue("июль");
sheet.getRange().get("C2").setNumberValue(7500);
sheet.getRange().get("C3").setNumberValue(2900);
sheet.getRange().get("C4").setNumberValue(2300);
sheet.getRange().get("C5").setNumberValue(4200);

sheet.getRange().get("D1").setValue("Август");
sheet.getRange().get("D2").setNumberValue(7700);
sheet.getRange().get("D3").setNumberValue(6900);
sheet.getRange().get("D4").setNumberValue(8400);
sheet.getRange().get("D5").setNumberValue(4200);

sheet.getRange().get("E1").setValue("Сентябрь");
sheet.getRange().get("E2").setNumberValue(8000);
sheet.getRange().get("E3").setNumberValue(7200);
sheet.getRange().get("E4").setNumberValue(8300);
sheet.getRange().get("E5").setNumberValue(5600);

//Установить шрифт и цвет заливки для указанных ячеек
sheet.getRange().get("A1:E1").getStyle().getFont().isBold(true);
sheet.getRange().get("A1:E1").getStyle().setKnownColor(ExcelColors.LightGreen1);;
sheet.getRange().get("A2:A5").getStyle().setKnownColor(ExcelColors.LightYellow);

//Установить границы ячеек
sheet.getRange().get("A1:E5").borderInside(LineStyleType.Thin, Color.BLUE);
sheet.getRange().get("A1:E5").borderAround(LineStyleType.Medium, Color.BLACK);

//Добавьте линейную диаграмму на лист
Chart chart = sheet.getCharts().add(ExcelChartType.Line);

//Установить диапазон данных для диаграммы
chart.setDataRange(sheet.getRange().get("A1:E5"));

//Установить положение графика
chart.setLeftColumn(1);
chart.setTopRow(6);
chart.setRightColumn(11);
chart.setBottomRow(29);

//Установить и отформатировать заголовок диаграммы
chart.setChartTitle("Отчет о продажах");
chart.getChartTitleArea().isBold(true);
chart.getChartTitleArea().setSize(12);

//Установить и отформатировать заголовок оси категорий
chart.getPrimaryCategoryAxis().setTitle("Месяц");
chart.getPrimaryCategoryAxis().getFont().isBold(true);
chart.getPrimaryCategoryAxis().getTitleArea().isBold(true);

//Установить и отформатировать заголовок оси значений
chart.getPrimaryValueAxis().setTitle("Продажи");
chart.getPrimaryValueAxis().hasMajorGridLines(false);
chart.getPrimaryValueAxis().getTitleArea().setTextRotationAngle(-90);
chart.getPrimaryValueAxis().setMinValue(1000);
chart.getPrimaryValueAxis().getTitleArea().isBold(true);

//Цикл по ряду данных диаграммы
for(ChartSerie cs : (Iterable<ChartSerie>) chart.getSeries())
{
cs.getFormat().getOptions().isVaryColor(true);
//Показать метки данных для точек данных
cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
}

//Установить положение легенды диаграммы
chart.getLegend().setPosition(LegendPositionType.Top);

//Сохраните файл результата
workbook.saveToFile("CreateLineChart.xlsx", ExcelVersion.Version2016);
}
}
Image for post
3 views
Add
More