Java操作Excel的示例详解
在 Java 工程中,对 Excel 进行操作是一个比较常见的需求。下面将会详细讲解如何使用 Java 操作 Excel 文档。
前置条件
在开始操作 Excel 文件前,需要先将相应的依赖项添加到 Maven 或 Gradle 项目中:
Maven
在 pom.xml 文件中添加以下依赖项:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
Gradle
请将以下代码添加到 build.gradle 文件中:
dependencies {
implementation 'org.apache.poi:poi-ooxml:4.1.2'
}
示例1:创建 Excel 文件
以下是一个简单的示例,演示如何使用 Java 创建一个包含数据的 Excel 文件:
import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.usermodel.Sheet;
public class CreateExcelDemo {
public static void main(String [] args){
// 创建工作簿对象
XSSFWorkbook workbook = new XSSFWorkbook();
// 创建工作表对象
Sheet sheet = workbook.createSheet("Sheet1");
// 创建行,并在行中添加数据
for(int i=0;i<10;i++){
Row row = sheet.createRow(i);
Cell cell = row.createCell(0);
cell.setCellValue("This is row " + (i+1));
}
// 将数据写入到文件中
try (FileOutputStream outputStream = new FileOutputStream("demo.xlsx")) {
workbook.write(outputStream);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("Excel 已创建。");
}
}
在这个例子中,我们创建了一个 XSSFWorkbook
对象,它代表了一个 Excel 文件。我们通过 createSheet
方法创建了一个新的工作表,然后使用 createRow
和 createCell
方法在行和单元格中添加数据。最后,我们将数据写入到磁盘上的 Excel 文件。运行示例代码后,你将会在项目的根目录下找到一个名为 demo.xlsx
的 Excel 文件。
示例2:读取 Excel 文件数据
以下是一个简单的示例,演示如何使用 Java 读取一个 Excel 文件中的数据:
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ReadExcelDemo {
public static void main(String[] args) {
try (FileInputStream inputStream = new FileInputStream("demo.xlsx")) {
// 读取 Excel 文件并创建工作簿对象
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
// 获取第一个工作表
Sheet sheet = workbook.getSheetAt(0);
// 迭代行和单元格
for (Row row : sheet) {
for (Cell cell : row) {
String cellValue = cell.getStringCellValue();
System.out.println(cellValue);
}
}
// 关闭工作簿
workbook.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在这个例子中,我们首先使用 FileInputStream
类从磁盘上读取 Excel 文件。然后,我们创建一个 XSSFWorkbook
对象来表示这个 Excel 文件。我们通过 getSheetAt
方法获取第一个工作表,然后使用 for 循环遍历工作表中的每一行和单元格,并输出相应的值。最后,我们关闭工作簿中的流对象。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java操作Excel的示例详解 - Python技术站