Электронные таблицы MS Excel упростили хранение и совместное использование большого количества табличных данных. Помимо этого, вы можете выполнять различные операции, такие как применение формул, создание диаграмм и графиков, сортировка и фильтрация данных и так далее. В этой статье вы узнаете, как реализовать функции автоматизации Excel из ваших приложений Java. Прочитав эту статью, вы сможете создавать файлы Excel XLSX или XLS с нуля, используя Java. Кроме того, в этой статье рассказывается, как обновить существующий файл Excel, создать диаграммы, применить формулы и добавить сводные таблицы на листы Excel.
- Java API для создания файлов Excel
- Создание файлов Excel XLSX или XLS с использованием Java
- Редактировать существующие файлы Excel с помощью Java
- Создание диаграмм в файлах Excel с использованием Java
- Создайте сводную таблицу в XLSX с помощью Java
- Добавить формулы для ячеек в XLSX с помощью Java
Java API для создания файлов Excel — скачать бесплатно
Aspose.Cells for Java — это мощный API для работы с электронными таблицами, который позволяет создавать или изменять файлы Excel без MS Office. API поддерживает добавление диаграмм, графиков, формул и программное выполнение других операций с электронными таблицами. Вы можете скачать API бесплатно или установить его в своих приложениях на основе Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells</artifactId>
<version>20.9</version>
</dependency>
Создайте Excel XLSX или XLS с помощью Java
Файлы MS Excel называются рабочими книгами, и каждая рабочая книга состоит из одного или нескольких рабочих листов. Рабочие листы также содержат строки и столбцы для хранения данных в виде ячеек. Итак, давайте начнем с создания простой рабочей книги. Ниже приведены шаги для создания файла Excel XLSX с нуля.
- Создайте экземпляр класса Workbook.
- Получите доступ к нужному рабочему листу, используя метод Workbook.getWorksheets.get().
- Поместите значение в нужную ячейку на листе, используя идентификатор ячейки, например A1, B3 и т. д.
- Сохраните книгу как файл Excel, используя метод Workbook.save().
В следующем примере кода показано, как создать файл Excel XLSX с помощью Java.
// Создать новую книгу
Workbook workbook = new Workbook();
// Добавьте значение в ячейку
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World!");
// Сохранить как файл Excel XLSX
workbook.save("Excel.xlsx");
Редактировать файл Excel XLSX с помощью Java
Давайте теперь посмотрим, как изменить или вставить данные в существующий файл MS Excel. Для этого вы можете просто загрузить файл, получить доступ к нужному рабочему листу и сохранить обновленный файл. Ниже приведены шаги для изменения существующего файла Excel.
- Откройте файл Excel с помощью класса Workbook.
- Получите доступ к рабочим листам и ячейкам, используя классы Worksheet и Cell соответственно.
- Сохраните обновленную книгу в виде файла Excel .xlsx.
В следующем примере кода показано, как редактировать существующий файл MS Excel с помощью Java.
// Создать новую книгу
Workbook workbook = new Workbook("workbook.xls");
// Получить ссылку на ячейку «A1» из ячеек рабочего листа
Cell cell = workbook.getWorksheets().get(0).getCells().get("A1");
// Установите «Привет, мир!» значение в ячейку "A1"
cell.setValue("updated cell value.");
// Запишите файл Excel
workbook.save("Excel.xls", FileFormatType.EXCEL_97_TO_2003);
Создание диаграмм или графиков в Excel с использованием Java
Диаграммы в электронных таблицах используются для визуального представления данных, хранящихся на листах. Они облегчают анализ большого количества данных. Aspose.Cells for Java предоставляет широкий набор диаграмм, которые вы можете программно создавать в файлах Excel. Ниже приведены шаги для создания диаграммы в файле Excel XLSX.
- Создайте новый файл Excel или загрузите существующий с помощью класса Workbook.
- Добавьте данные на лист (необязательно).
- Получите набор диаграмм рабочего листа с помощью метода Worksheet.getCharts().
- Добавьте новую диаграмму, используя метод Worksheet.getCharts().add().
- Получите вновь созданную диаграмму из коллекции.
- Укажите диапазон ячеек, чтобы установить NSeries для диаграммы.
- Сохраните книгу как файл Excel .xlsx.
В следующем примере кода показано, как создать диаграмму в Excel XLSX с помощью Java.
// Создать новую книгу
Workbook workbook = new Workbook("workbook.xlsx");
// Получение ссылки на первый рабочий лист
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet sheet = worksheets.get(0);
// Добавление образца значения в ячейки
Cells cells = sheet.getCells();
Cell cell = cells.get("A1");
cell.setValue(50);
cell = cells.get("A2");
cell.setValue(100);
cell = cells.get("A3");
cell.setValue(150);
cell = cells.get("B1");
cell.setValue(4);
cell = cells.get("B2");
cell.setValue(20);
cell = cells.get("B3");
cell.setValue(50);
// получить диаграммы на листе
ChartCollection charts = sheet.getCharts();
// Добавление диаграммы на рабочий лист
int chartIndex = charts.add(ChartType.PYRAMID, 5, 0, 15, 5);
Chart chart = charts.get(chartIndex);
// Добавление NSeries (источника данных диаграммы) на диаграмму в диапазоне от "A1"
// ячейка на "B3"
SeriesCollection serieses = chart.getNSeries();
serieses.add("A1:B3", true);
// Запишите файл Excel
workbook.save("Excel_with_Chart.xlsx");
Создайте сводную таблицу в Excel XLSX с помощью Java
Сводные таблицы на листах Excel имеют различные цели, такие как добавление фильтров к данным, вычисление итогов, суммирование данных и т. д. Сводные таблицы можно создавать, используя диапазон ячеек на листе. Ниже приведены шаги для создания сводной таблицы на листе Excel.
- Создайте новую Рабочую книгу или загрузите существующий файл.
- Вставьте данные в рабочий лист (необязательно).
- Получите доступ к коллекции сводных таблиц с помощью метода Worksheet.getPivotTables().
- Добавьте новую сводную таблицу на лист, используя метод Worksheet.getPivotTables().add().
- Внесите данные в сводную таблицу.
- Сохраните книгу.
В следующем примере кода показано, как создать сводную таблицу в Excel с помощью Java.
// Создать новую книгу
Workbook workbook = new Workbook("workbook.xlsx");
// Получите первый рабочий лист.
Worksheet sheet = workbook.getWorksheets().get(0);
// Получение коллекции ячеек рабочего листа
Cells cells = sheet.getCells();
// Установка значения в ячейки
Cell cell = cells.get("A1");
cell.setValue("Sport");
cell = cells.get("B1");
cell.setValue("Quarter");
cell = cells.get("C1");
cell.setValue("Sales");
cell = cells.get("A2");
cell.setValue("Golf");
cell = cells.get("A3");
cell.setValue("Golf");
cell = cells.get("A4");
cell.setValue("Tennis");
cell = cells.get("A5");
cell.setValue("Tennis");
cell = cells.get("A6");
cell.setValue("Tennis");
cell = cells.get("A7");
cell.setValue("Tennis");
cell = cells.get("A8");
cell.setValue("Golf");
cell = cells.get("B2");
cell.setValue("Qtr3");
cell = cells.get("B3");
cell.setValue("Qtr4");
cell = cells.get("B4");
cell.setValue("Qtr3");
cell = cells.get("B5");
cell.setValue("Qtr4");
cell = cells.get("B6");
cell.setValue("Qtr3");
cell = cells.get("B7");
cell.setValue("Qtr4");
cell = cells.get("B8");
cell.setValue("Qtr3");
cell = cells.get("C2");
cell.setValue(1500);
cell = cells.get("C3");
cell.setValue(2000);
cell = cells.get("C4");
cell.setValue(600);
cell = cells.get("C5");
cell.setValue(1500);
cell = cells.get("C6");
cell.setValue(4070);
cell = cells.get("C7");
cell.setValue(5000);
cell = cells.get("C8");
cell.setValue(6430);
PivotTableCollection pivotTables = sheet.getPivotTables();
// Добавление сводной таблицы на лист
int index = pivotTables.add("=A1:C8", "E3", "PivotTable2");
// Доступ к экземпляру недавно добавленной сводной таблицы
PivotTable pivotTable = pivotTables.get(index);
// Отображение общих итогов для строк.
pivotTable.setRowGrand(false);
// Перетаскивание первого поля в область строки.
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);
// Перетаскивание второго поля в область столбца.
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1);
// Перетаскивание третьего поля в область данных.
pivotTable.addFieldToArea(PivotFieldType.DATA, 2);
// Запишите файл Excel
workbook.save("Excel_with_Chart.xlsx");
Добавить формулы для ячеек в файле Excel с помощью Java
Aspose.Cells for Java также позволяет работать с формулами на листах Excel. К ячейкам можно применять как встроенные, так и дополнительные функции.
Применение встроенных функций в Excel
Для использования встроенных функций вы можете просто получить доступ к нужной ячейке на листе и добавить формулу, используя метод Cell.setFormula(String). В следующем примере кода показано, как задать встроенную формулу с помощью Java.
// Создать новую книгу
Workbook workbook = new Workbook();
// Добавьте значение в ячейку
workbook.getWorksheets().get(0).getCells().get(0).setFormula("=H7*(1+IF(P7 =$L$3,$M$3, (IF(P7=$L$4,$M$4,0))))");
// Сохранить как файл Excel XLSX
workbook.save("Excel.xlsx");
Добавить функции надстройки в Excel
Может быть случай, когда вам нужно использовать пользовательскую функцию. Для этого вам нужно будет зарегистрировать функцию надстройки с помощью файла .xlam (надстройка Excel с поддержкой макросов), а затем использовать ее для нужных ячеек. Для регистрации функций надстройки Aspose.Cells for Java предоставляет методы registerAddInFunction(int, String) и registerAddInFunction(String, String, boolean). В следующем примере кода показано, как зарегистрировать и использовать функцию надстройки с помощью Java.
// создать новую книгу
Workbook workbook = new Workbook();
// Зарегистрируйте надстройку с поддержкой макросов вместе с именем функции
int id = workbook.getWorksheets().registerAddInFunction("TESTUDF.xlam", "TEST_UDF", false);
// Зарегистрируйте дополнительные функции в файле (если есть)
workbook.getWorksheets().registerAddInFunction(id, "TEST_UDF1"); //in this way you can add more functions that are in the same file
// Доступ к первому рабочему листу
Worksheet worksheet = workbook.getWorksheets().get(0);
// Доступ к первой ячейке
Cell cell = worksheet.getCells().get("A1");
// Установить имя формулы, присутствующее в надстройке
cell.setFormula("=TEST_UDF()");
// Сохранить как файл Excel XLSX
workbook.save("Excel.xlsx");
Вывод
В этой статье вы увидели, как создавать файлы MS Excel с нуля, используя Java без MS Office. Вы также узнали, как обновлять книги, создавать диаграммы, добавлять таблицы и применять формулы к значениям ячеек на листах MS Excel. Вы можете узнать больше об API Aspose для Java Excel, используя документацию.