java读取数据并写入excel
时间: 2024-09-21 09:01:39 浏览: 92
在Java中,我们可以使用Apache POI库来读取Excel文件并将数据写入新的或者现有的工作簿。以下是简单的步骤:
1. **添加依赖**:
首先,你需要将Apache POI的`poi`和`poi-ooxml`库加入到你的项目中。如果你使用Maven,可以在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>最新版本号</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>最新版本号</version>
</dependency>
```
2. **读取Excel**:
使用`XSSFWorkbook`或`XLSXSSFWorkbook`(针对Excel 2007及以上版本)类打开Excel文件,并通过索引来获取单元格内容:
```java
FileInputStream fis = new FileInputStream("input.xlsx");
Workbook workbook;
if (fis instanceof XLSXSSFWorkbook) {
workbook = new XLSXSSFWorkbook(fis);
} else {
workbook = new HSSFWorkbook(fis); // 对于旧版Excel
}
Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
Row row = sheet.getRow(0); // 获取第一行
Cell cell = row.getCell(0); // 获取第一个单元格的数据
String data = cell.getStringCellValue();
```
3. **写入Excel**:
创建一个新的工作簿,添加工作表,然后设置单元格值:
```java
Workbook workbookToSave = new XSSFWorkbook(); // 或HSSFWorkbook
Sheet sheetToSave = workbookToSave.createSheet("New Sheet"); // 创建新表
Row newRow = sheetToSave.createRow(0); // 新行
Cell newCell = newRow.createCell(0);
newCell.setCellValue("Data to write");
FileOutputStream fos = new FileOutputStream("output.xlsx");
workbookToSave.write(fos);
fos.close();
```
4. **关闭资源**:
确保在操作完成后关闭流和工作簿。
阅读全文