В этой статье вы узнаете, как реализовать функции автоматизации Excel из ваших приложений для Android. Прочитав эту статью, вы сможете программно создать файл Excel XLSX или XLS с нуля в своем приложении для Android. Кроме того, в этой статье рассказывается, как обновить существующий файл Excel, создать диаграммы, применить формулы и добавить сводные таблицы на листы Excel.
- Android API для создания файла Excel
- Создание файлов Excel XLSX или XLS
- Редактировать существующие файлы Excel
- Создание диаграмм в файлах Excel
- Создайте сводную таблицу в формате XLSX
- Добавить формулы для ячеек в XLSX
Android API для создания файла Excel — скачать бесплатно
Aspose.Cells для Android через Java — это мощный API для работы с электронными таблицами, который позволяет создавать или изменять файлы Excel без MS Office. API поддерживает добавление диаграмм, графиков, формул и программное выполнение других операций с электронными таблицами. Вы можете либо скачать API, либо установить его, используя следующие конфигурации в build.gradle.
maven {
url "https://repository.aspose.com/repo/" }
compile (
group: 'com.aspose',
name: 'aspose-cells',
version: '21.3',
classifier: 'android.via.java')
Создайте Excel XLSX или XLS в Android
Каждая рабочая книга Excel состоит из одного или нескольких рабочих листов, которые дополнительно содержат строки и столбцы для хранения данных в виде ячеек. Ниже приведены шаги для создания файла Excel XLSX с нуля.
- Создайте экземпляр класса Workbook.
- Получите доступ к нужному рабочему листу, используя метод Workbook.getWorksheets.get().
- Поместите значение в нужную ячейку на листе, используя идентификатор ячейки, например A1, B3 и т. д.
- Сохраните книгу как файл Excel, используя метод Workbook.save().
В следующем примере кода показано, как создать файл Excel XLSX в Android.
// Создать новую книгу
Workbook workbook = new Workbook();
// Добавьте значение в ячейку
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World!");
// Сохранить как файл Excel XLSX
workbook.save("Excel.xlsx");
Редактировать файл Excel XLSX в Android
Давайте теперь посмотрим, как изменить или вставить данные в существующий файл MS Excel. Для этого вы можете просто загрузить файл, получить доступ к нужному рабочему листу и сохранить обновленный файл. Ниже приведены шаги для изменения существующего файла Excel.
- Откройте файл Excel с помощью класса Workbook.
- Получите доступ к рабочим листам и ячейкам, используя классы Worksheet и Cell соответственно.
- Сохраните обновленную книгу в виде файла Excel .xlsx.
В следующем примере кода показано, как редактировать существующий файл MS Excel в Android.
// Создать новую книгу
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 на Android
Диаграммы в электронных таблицах используются для визуального представления данных, хранящихся на листах. Они облегчают анализ большого количества данных. Aspose.Cells для Android через Java предоставляет широкий спектр диаграмм, которые вы можете программно создавать в файлах Excel. Ниже приведены шаги для создания диаграммы в файле Excel XLSX.
- Создайте новый файл Excel или загрузите существующий с помощью класса Workbook.
- Добавьте данные на лист (необязательно).
- Получите набор диаграмм рабочего листа с помощью метода Worksheet.getCharts().
- Добавьте новую диаграмму, используя метод Worksheet.getCharts().add().
- Получите вновь созданную диаграмму из коллекции.
- Укажите диапазон ячеек, чтобы установить NSeries для диаграммы.
- Сохраните книгу как файл Excel .xlsx.
В следующем примере кода показано, как создать диаграмму в Excel XLSX на Android.
// Создать новую книгу
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 на Android
Сводные таблицы на листах Excel имеют различные цели, такие как добавление фильтров к данным, вычисление итогов, суммирование данных и т. д. Сводные таблицы можно создавать, используя диапазон ячеек на листе. Ниже приведены шаги для создания сводной таблицы на листе Excel.
- Создайте новую Рабочую книгу или загрузите существующий файл.
- Вставьте данные в рабочий лист (необязательно).
- Получите доступ к коллекции сводных таблиц с помощью метода Worksheet.getPivotTables().
- Добавьте новую сводную таблицу на лист, используя метод Worksheet.getPivotTables().add().
- Внесите данные в сводную таблицу.
- Сохраните книгу.
В следующем примере кода показано, как создать сводную таблицу в 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 для Android через Java также позволяет работать с формулами на листах Excel. К ячейкам можно применять как встроенные, так и дополнительные функции.
Применение встроенных функций в Excel
Для использования встроенных функций вы можете просто получить доступ к нужной ячейке на листе и добавить формулу, используя метод Cell.setFormula(String). В следующем примере кода показано, как задать встроенную формулу.
// Создать новую книгу
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 для Android через Java предоставляет методы registerAddInFunction(int, String) и registerAddInFunction(String, String, boolean). В следующем примере кода показано, как зарегистрировать и использовать функцию надстройки.
// создать новую книгу
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 с нуля в Android без MS Office. Вы также узнали, как обновлять книги, создавать диаграммы, добавлять таблицы и применять формулы к значениям ячеек на листах MS Excel. Вы можете узнать больше об Android Excel API, используя документацию. Если у вас возникнут какие-либо вопросы, сообщите нам об этом через наш форум.