Как создавать, читать или изменять документы 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.
С помощью 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); } } Чтобы получить текстовое
или числовое значение определенной ячейки, можно воспользоваться методом 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(); } } } Чтобы изменить значение
определенной ячейки, просто переназначьте ей значение с помощью метода 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
Создание документа Excel на Java
Чтение данных рабочего листа в Java
Изменение документа Excel на Java