Оглавление
Установка с помощью Maven
<dependency> <groupId>e-iceblue</groupId> <artifactId>spire.xls</artifactId> <version>14.1.3</version> </dependency>
Ссылки по теме
Электронная таблица Excel — это популярный формат файлов, который позволяет пользователям упорядочивать, анализировать и отображать данные в таблицах. Возможность программного взаимодействия с файлами Excel полезна для автоматизации и интеграции его функций в программное обеспечение. Это особенно полезно при работе с обширными наборами данных, сложными вычислениями или динамическим созданием/обновлением данных. В этой статье вы узнаете, как создавайте, читайте или обновляйте документ Excel на Java помощью Spire.XLS for Java.
- Создать документ Excel на Java
- Чтение данных рабочего листа в Java
- Обновление документа Excel в Java
Установите Spire.XLS for Java
Во-первых, вам необходимо добавить файл Spire.Xls.jar в качестве зависимости в вашу программу Java. JAR-файл можно скачать по этой ссылке. Если вы используете Maven, вы можете легко импортировать файл JAR в свое приложение, добавив следующий код в файл pom.xml вашего проекта.
<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.xls</artifactId> <version>14.11.0</version> </dependency> </dependencies>
Создать документ Excel на Java
Spire.XLS for Java предлагает множество классов и интерфейсов, которые можно использовать для создания и редактирования документов Excel. Вот список важных классов, свойств и методов, рассматриваемых в этой статье.
Член | Описание |
Класс рабочей книги | Представляет модель книги Excel. |
Метод Workbook.getWorksheets().add() | Добавляет лист в книгу. |
Метод Workbook.saveToFile() | Сохраняет книгу в документ Excel. |
Класс рабочего листа | Представляет лист в книге. |
Метод Worksheet.getRange() | Получает определенную ячейку или диапазон ячеек из листа. |
Метод Worksheet.insertArray() | Импортирует данные из массива на лист. |
Класс CellRange | Представляет ячейку или диапазон ячеек на листе. |
Метод CellRange.setValue() | Устанавливает значение ячейки. |
Метод CellRange.getValue() | Получает значение ячейки. |
Ниже приведены шаги по созданию документа Excel с нуля с помощью Spire.XLS for Java.
- Создайте объект книги.
- Добавьте рабочий лист, используя метод Workbook.getWorksheets().add().
- Запишите данные в определенную ячейку с помощью метода Worksheet.getRange.setValue().
- Импортируйте данные из массива на лист с помощью метода Worksheet.insertArray().
- Сохраните книгу в документ Excel, используя метод Workbook.saveToFile().
- Java
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() возвращает числовое значение или текстовое значение ячейки в виде строки. Чтобы получить данные всего листа или диапазона ячеек, пройдитесь по ячейкам внутри него. Ниже приведены шаги по получению данных листа с помощью Spire.XLS for Java.
- Создайте объект книги.
- Загрузите документ Excel с помощью метода Workbook.loadFromFile().
- Получите конкретный лист, используя метод Workbook.getWorksheets().get(index).
- Получите диапазон ячеек, содержащий данные, с помощью метода Worksheet.getAllocatedRange().
- Перебирайте строки и столбцы, чтобы получить ячейки в диапазоне, и возвращайте значение каждой ячейки с помощью метода CellRange.getValue().
- Java
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(); } } }
Обновление документа Excel в Java
Чтобы изменить значение определенной ячейки, просто присвойте ей значение с помощью метода Worksheet.getRange().setValue(). Ниже приведены подробные шаги.
- Создайте объект книги.
- Загрузите документ Excel с помощью метода Workbook.LoadFromFile().
- Получите конкретный лист через свойство Workbook.Worksheets[index].
- Измените значение определенной ячейки с помощью свойства Worksheet.Range.Value.
- Сохраните книгу в файл Excel, используя метод Workbook.SaveToFile().
- Java
import com.spire.xls.ExcelVersion; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public class UpdateExcel { 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); //Change the value of a specific cell sheet.getRange().get("A1").setValue("Updated Value"); //Save to file wb.saveToFile("output/Updated.xlsx", ExcelVersion.Version2016); } }
Подать заявку на временную лицензию
Если вы хотите удалить сообщение об оценке из сгенерированных документов или избавиться от ограничений функции, пожалуйста запросите 30-дневную пробную лицензию для себя.