В наши дни электронные таблицы широко используются для хранения и совместного использования большого количества табличных данных. Кроме того, вы можете выполнять различные операции, такие как применение формул, создание диаграмм и графиков, сортировка и фильтрация данных и так далее. Автоматизация электронных таблиц произвела революцию в различных отраслях. Динамическое создание электронных таблиц и манипулирование ими значительно упростили обработку данных. В этой статье рассказывается, как программно выполнять манипуляции с электронными таблицами, как создавать файлы Excel XLSX или XLS с нуля в Linux с помощью Java.
- Java API для создания файлов Excel в Linux
- Создание файлов Excel XLSX или XLS в Linux
- Редактировать существующие файлы Excel
- Создание диаграмм в файлах Excel
- Создайте сводную таблицу в формате XLSX
- Добавить формулы для ячеек в XLSX
API для создания файлов Excel в Linux — скачать бесплатно
Для создания файлов Excel и управления ими мы будем использовать Aspose.Cells for Java. Это мощный API для работы с электронными таблицами для создания, обновления или преобразования файлов Excel. Вы можете либо скачать JAR-файл 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>21.9</version>
</dependency>
Создать файл Excel в Linux
Файлы MS Excel хранят данные на рабочих листах, состоящих из нескольких ячеек. Принимая во внимание, что эти рабочие листы содержатся в рабочей книге. Ниже приведены шаги по созданию файла Excel XLSX с нуля в Linux.
- Создайте экземпляр класса Workbook.
- Получите ссылку на нужный рабочий лист, используя метод Workbook.getWorksheets.get().
- Вставьте значение в нужную ячейку рабочего листа, используя идентификатор ячейки, например A1, B3 и т. д.
- Сохраните книгу с помощью метода Workbook.save().
В следующем примере кода показано, как создать файл Excel XLSX в Linux с помощью Java.
// Создать новую книгу
Workbook workbook = new Workbook();
// Добавьте значение в ячейку
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World!");
// Сохранить как файл Excel XLSX
workbook.save("Excel.xlsx");
Ниже приведен вывод приведенного выше примера кода.
Редактировать файл Excel XLSX в Linux
Вы также можете беспрепятственно изменять существующие файлы Excel. Для этого вы можете просто загрузить файл, получить доступ к нужному рабочему листу и обновить его содержимое. Ниже приведены шаги для редактирования файла Excel XLSX.
- Загрузите файл Excel, используя класс Workbook.
- Получите ссылку на рабочие листы и ячейки, используя классы Worksheet и Cell соответственно.
- Обновите содержимое ячеек.
- Сохраните обновленную книгу с помощью метода Workbook.save().
В следующем примере кода показано, как редактировать файл Excel в Linux.
// Создать новую книгу
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 в Linux
Диаграммы в электронных таблицах используются для визуального представления данных, хранящихся на листах. Aspose.Cells for Java предоставляет широкий спектр диаграмм, которые вы можете создавать в файлах Excel. Ниже приведены шаги для создания диаграммы в файле Excel XLSX на платформе Linux.
- Создайте новый файл Excel или загрузите существующий с помощью класса Workbook.
- Добавьте данные на лист (необязательно).
- Получите набор диаграмм рабочего листа с помощью метода Worksheet.getCharts().
- Добавьте новую диаграмму в коллекцию, используя метод Worksheet.getCharts().add().
- Получить ссылку на вновь созданный Chart из коллекции.
- Укажите диапазон ячеек, чтобы установить NSeries для диаграммы.
- Наконец, сохраните файл Excel.
В следующем примере кода показано, как создать диаграмму в файле Excel XLSX.
// Создать новую книгу
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 в Linux
Сводные таблицы на листах Excel имеют различные цели, такие как добавление фильтров к данным, вычисление итогов, суммирование данных и т. д. Сводные таблицы можно создавать, используя диапазон ячеек на листе. Вы можете создать сводную таблицу в файле Excel, выполнив следующие действия.
- Создайте новый файл Excel или загрузите существующий с помощью класса Workbook.
- Вставьте данные в рабочий лист (необязательно).
- Получите доступ к коллекции сводных таблиц с помощью метода Worksheet.getPivotTables().
- Добавьте новую сводную таблицу на лист, используя метод Worksheet.getPivotTables().add().
- Внесите данные в сводную таблицу.
- Сохраните книгу с помощью метода Workbook.save().
В следующем примере кода показано, как создать сводную таблицу в Excel.
// Создать новую книгу
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
Aspose.Cells for Java также поддерживает работу с формулами на листах Excel. В следующих разделах описано, как работать со встроенными и дополнительными функциями.
Применение встроенных функций в Excel
Для встроенных функций вы можете просто получить ссылку на нужную ячейку на листе и добавить формулу, используя метод Cell.setFormula(String). В следующем примере кода показано, как задать встроенную формулу в Excel.
// Создать новую книгу
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
Aspose.Cells for Java также поддерживает пользовательские функции для рабочих листов Excel. Для этого вам нужно будет зарегистрировать функцию надстройки, используя файл xlam (надстройка Excel с поддержкой макросов). Для регистрации функций надстройки API предоставляет методы registerAddInFunction(int, String) и registerAddInFunction(String, String, boolean). В следующем примере кода показано, как зарегистрировать и использовать функцию надстройки в Excel.
// создать новую книгу
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");
Получить бесплатную лицензию
Вы можете использовать Aspose.Cells for Java без ограничений на пробную версию, используя временную лицензию.
Вывод
В этой статье вы узнали, как создавать файлы MS Excel с нуля в Linux. Кроме того, вы увидели, как обновлять файлы Excel, генерировать диаграммы, создавать сводные таблицы и добавлять формулы на рабочие листы. Вы можете узнать больше об Aspose.Cells для Java, используя документацию. Если у вас возникнут вопросы, вы можете задать их на нашем форуме.