Как создавать, читать или изменять документы Excel на Java
Создание, изменение и чтение документов Excel на Java необходимо для управления данными и создания отчетов в различных приложениях. С помощью таких библиотек, как Spire.XLS for Java, разработчики могут легко манипулировать файлами Excel, позволяя автоматизировать задачи ввода, анализа и представления данных.
Эта статья посвящена знакомству с тем, как создавать, читать и изменять документы Excel с помощью библиотеки Spire.XLS for Java.
- Создание документа Excel на Java
- Чтение данных рабочего листа в Java
- Изменение документа Excel на Java
Установка файла Spire.Xls.jar
Spire.XLS
for Java — это мощная библиотека, предназначенная для разработчиков,
позволяющая программно создавать, манипулировать и управлять электронными
таблицами Excel. Библиотеку можно
загрузить по этой
ссылке или установить из репозитория Maven.
Создание документа Excel на Java
С помощью Spire.XLS можно записать данные в определенную ячейку с помощью метода CellRange.setValue() или импортировать данные из массива на рабочий лист с помощью метода Worksheet.insertArray(). Следующий код демонстрирует, как создать документ Excel и записать данные в ячейки рабочего листа с помощью Java.
import com.spire.xls.*;
public class CreateSpreadsheet {
public static void main(String[] args) {
// Создаем объект Workbook
Workbook wb = new Workbook();
// Удаляем стандартные листы
wb.getWorksheets().clear();
// Добавляем лист и называем его «Сотрудник»
Worksheet sheet = wb.getWorksheets().add("Сотрудник");
// Объединяем ячейки от A1 до G1
sheet.getRange().get("A1:G1").merge();
// Записываем данные в A1 и применяем к ним форматирование
sheet.getRange().get("A1").setValue("Основная информация о сотрудниках компании Huanyu Automobile");
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);
// Устанавливаем высоту строки для первой строки
sheet.setRowHeight(1, 30);
// Создаем двумерный массив
String[][] twoDimensionalArray = new String[][]{
{«Имя», «Пол», «Дата рождения», «Образование», «Контактный номер», «Должность», «ID»},
{«Аллен», «Мужской»,
{«Патрик», «Мужской»,
{«Дженна», «Женский»,
{«Томми», «Мужской»,
{«Кристина», «Женский»,
};
// Импортируем данные из DataTable в рабочий лист
sheet.insertArray(twoDimensionalArray, 2, 1);
// Устанавливаем высоту строк диапазона
sheet.getRange().get("A2:G7").setRowHeight(15);
// Устанавливаем ширину столбцов
sheet.setColumnWidth(2, 15);
sheet.setColumnWidth(3, 21);
sheet.setColumnWidth(4, 15);
// Устанавливаем стиль границ для диапазона
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);
// Сохраняем в файл .xlsx
wb.saveToFile("output/NewSpreadsheet.xlsx", FileFormat.Version2016);
}
}
Чтение данных рабочего листа в Java
Чтобы получить текстовое или числовое значение определенной ячейки, можно воспользоваться методом 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) {
// Создаем объект Workbook
Workbook wb = new Workbook();
// Загружаем существующий файл Excel
wb.loadFromFile("C:/Users/Administrator/Desktop/NewSpreadsheet.xlsx");
// Получаем первый рабочий лист
Worksheet sheet = wb.getWorksheets().get(0);
// Получаем диапазон ячеек, содержащий данные
CellRange locatedRange = sheet.getAllocatedRange();
// Проходим по строкам
for (int i = 0; i < locatedRange.getRows().length; i++) {
// Проходим по столбцам
for (int j = 0; j < locatedRange.getColumnCount(); j++) {
// Получаем данные конкретной ячейки
System.out.print(locatedRange.get(i + 1, j + 1).getValue() + " ");
}
System.out.println();
}
}
}
Изменение документа Excel на Java
Чтобы изменить значение определенной ячейки, просто переназначьте ей значение с помощью метода CellRange.setValue() . В следующем коде приведен пример.
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class ModifyExcel {
public static void main(String[] args) {
// Создаем объект Workbook
Workbook wb = new Workbook();
// Загружаем существующий файл Excel
wb.loadFromFile("C:/Users/Administrator/Desktop/Spreadsheet.xlsx");
// Получаем первый рабочий лист
Worksheet sheet = wb.getWorksheets().get(0);
// Изменяем значение конкретной ячейки
sheet.getRange().get("A1").setValue("Обновленное значение");
// Сохраняем в файл
wb.saveToFile("output/Updated.xlsx", ExcelVersion.Version2016);
}
}
Заключение
В этой статье вы узнали, как создавать, изменять и читать файлы Excel с помощью Spire.XLS for Java. Эта библиотека имеет множество других возможностей, таких как:
Преобразование Excel в изображение в Java