Создание файлов Excel в Linux

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

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 в Linux

Редактировать файл 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 в 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 на linux

Добавить формулы для ячеек в файлах 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, используя документацию. Если у вас возникнут вопросы, вы можете задать их на нашем форуме.

Смотрите также