Главное Авторские колонки Вакансии Вопросы
356 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Как создавать или читать документы Excel в Java

В этой статье я расскажу о том, как создать или прочитать документ Excel на Java с помощью Free Spire.XLS for Java.
Мнение автора может не совпадать с мнением редакции

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

Установка файла Free Spire.Xls.jar

Если вы создали Maven-проект, вы можете легко импортировать jar в свое приложение, используя следующие конфигурации. Для проектов, не использующих Maven, загрузите jar-файл по этой ссылке и добавьте его в качестве зависимости в свое приложение.

Создание документа Excel на Java

Ниже описаны шаги по созданию документа Excel с нуля с помощью Free Spire.XLS for Java.

  • Создайте объект Workbook.
  • Добавить рабочий лист с помощью метода Workbook.getWorksheets().add().
  • Записать данные в определенную ячейку с помощью метода Worksheet.getRange.setValue().
  • Импортировать данные из массива на рабочий лист с помощью метода Worksheet.insertArray().
  • Сохранить рабочую книгу в документ Excel с помощью метода Workbook.saveToFile().

import com.spire.xls.*;

public class CreateSpreadsheet {

public static void main(String[] args) {

//Create a Workbook object

Workbook wb = new Workbook();

//Remove default worksheets

wb.getWorksheets().clear();

//Add a worksheet and name it «Employee»

Worksheet sheet = wb.getWorksheets().add("Employee");

//Merge the cells between A1 and G1

sheet.getRange().get("A1:G1").merge();

//Write data to A1 and apply formatting to it

sheet.getRange().get("A1").setValue("Basic Information of Employees of Huanyu Automobile Company");

sheet.getRange().get("A1").setHorizontalAlignment(HorizontalAlignType.Center);

sheet.getRange().get("A1").setVerticalAlignment(VerticalAlignType.Center);

sheet.getRange().get("A1").getStyle().getFont().isBold(true);

sheet.getRange().get("A1").getStyle().getFont().setSize(13);

//Set row height of the first row

sheet.setRowHeight(1,30);

//Create a two-dimensional array

String[][] twoDimensionalArray = new String[][]{

{«Name», «Gender», «Birth Date», «Educational Background», «Contact Number», «Position», «ID»},

{«Allen», «Male», «1990-02-10», «Bachelor», «24756854», «Mechanic», «0021»},

{«Patrick», «Male», «1985-06-08», «Master», «59863247», «Mechanic», «0022»},

{«Jenna», «Female», «1989-11-25», «Bachelor», «79540352», «Sales», «0023»},

{«Tommy», «Male», «1988-04-16», «Master», «52014060», «Mechanic», «0024»},

{«Christina», «Female», «1998-01-21», «Bachelor», «35401489», «HR», «0025»}

};

//Import data from DataTable to worksheet

sheet.insertArray(twoDimensionalArray,2,1);

//Set row height of a range

sheet.getRange().get("A2:G7").setRowHeight(15);

//Set column width

sheet.setColumnWidth(2,15);

sheet.setColumnWidth(3,21);

sheet.setColumnWidth(4,15);

//Set border style of a range

sheet.getRange().get("A2:G7").borderAround(LineStyleType.Medium);

sheet.getRange().get("A2:G7").borderInside(LineStyleType.Thin);

sheet.getRange().get("A2:G2").borderAround(LineStyleType.Medium);

sheet.getRange().get("A2:G7").getBorders().setKnownColor(ExcelColors.Black);

//Save to a .xlsx file

wb.saveToFile("output/NewSpreadsheet.xlsx", FileFormat.Version2016);

}

}

Чтение данных рабочего листа в Java

Метод CellRange.getValue() возвращает числовое или текстовое значение ячейки в виде строки. Чтобы получить данные всего рабочего листа или диапазона ячеек, необходимо выполнить цикл перебора ячеек в нем. Ниже описаны шаги по получению данных рабочего листа с помощью Free Spire.XLS for Java.

  • Создайте объект Workbook.
  • Загрузить документ Excel с помощью метода Workbook.loadFromFile().
  • Получить конкретный рабочий лист с помощью метода Workbook.getWorksheets().get(index).
  • Получить диапазон ячеек, содержащий данные, с помощью метода Worksheet.getAllocatedRange().
  • Итерацией по строкам и столбцам получить ячейки внутри диапазона и вернуть значение каждой ячейки с помощью метода CellRange.getValue().

import com.spire.xls.CellRange;

import com.spire.xls.Workbook;

import com.spire.xls.Worksheet;

public class ReadData {

public static void main(String[] args) {

//Create a Workbook object

Workbook wb = new Workbook();

//Load an existing Excel file

wb.loadFromFile("C:/Users/Administrator/Desktop/NewSpreadsheet.xlsx");

//Get the first worksheet

Worksheet sheet = wb.getWorksheets().get(0);

//Get the cell range containing data

CellRange locatedRange = sheet.getAllocatedRange();

//Iterate through the rows

for (int i = 0; i < locatedRange.getRows().length; i++) {

//Iterate through the columns

for (int j = 0; j < locatedRange.getColumnCount(); j++) {

//Get data of a specific cell

System.out.print(locatedRange.get(i + 1, j + 1).getValue() + " ");

}

System.out.println();

}

}

}

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем