Java中写入Excel的基本步骤
在Java中,写入Excel文件是一个常见的需求,特别是在处理数据分析和报告生成时,以下是一篇详细介绍如何在Java中写入Excel文件的文章,我们将使用Apache POI库,这是一个广泛使用的Java库,用于处理Microsoft Office文档。

环境准备
确保你的Java开发环境已经配置好,你需要下载并添加Apache POI库到你的项目中,你可以从Apache POI的官方网站下载最新版本的jar文件,并将其添加到项目的类路径中。
创建Excel文件
在Java中,你可以使用XSSFWorkbook类来创建一个新的Excel工作簿,以下是如何创建一个Excel文件的示例代码:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExcelWriter {
public static void main(String[] args) {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Data Sheet");
// 创建行和单元格
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("Name");
// 写入数据到Excel
try (FileOutputStream outputStream = new FileOutputStream("DataSheet.xlsx")) {
workbook.write(outputStream);
} catch (IOException e) {
e.printStackTrace();
}
workbook.close();
}
}
写入数据到Excel
在创建工作簿和sheet之后,你可以通过创建行和单元格来写入数据,以下是如何向Excel文件中添加数据的示例:

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExcelWriter {
public static void main(String[] args) {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Data Sheet");
// 创建行和单元格
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("John Doe");
// 添加更多数据
for (int i = 1; i <= 10; i++) {
row = sheet.createRow(i);
cell = row.createCell(0);
cell.setCellValue("Name " + i);
}
// 写入数据到Excel
try (FileOutputStream outputStream = new FileOutputStream("DataSheet.xlsx")) {
workbook.write(outputStream);
} catch (IOException e) {
e.printStackTrace();
}
workbook.close();
}
}
格式化单元格
Apache POI允许你格式化单元格,例如设置字体、颜色、边框等,以下是如何设置单元格格式的示例:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExcelWriter {
public static void main(String[] args) {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Data Sheet");
// 创建行和单元格
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("Name");
// 设置单元格格式
CellStyle cellStyle = workbook.createCellStyle();
Font font = workbook.createFont();
font.setBold(true);
font.setFontHeightInPoints((short) 14);
cellStyle.setFont(font);
cellStyle.setFillForegroundColor(IndexedColors.LIGHT_BLUE.getIndex());
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
cellStyle.setBorderBottom(BorderStyle.THIN);
cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex());
cellStyle.setBorderLeft(BorderStyle.THIN);
cellStyle.setLeftBorderColor(IndexedColors.BLACK.getIndex());
cellStyle.setBorderRight(BorderStyle.THIN);
cellStyle.setRightBorderColor(IndexedColors.BLACK.getIndex());
cellStyle.setBorderTop(BorderStyle.THIN);
cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex());
cell.setCellStyle(cellStyle);
// 写入数据到Excel
try (FileOutputStream outputStream = new FileOutputStream("DataSheet.xlsx")) {
workbook.write(outputStream);
} catch (IOException e) {
e.printStackTrace();
}
workbook.close();
}
}
保存和关闭工作簿
在写入所有数据后,你需要保存并关闭工作簿,在上面的示例中,我们使用了try-with-resources语句来自动关闭工作簿和输出流,以避免资源泄露。
处理异常
在处理文件写入时,异常处理非常重要,确保捕获并处理可能发生的IOException和其他异常。

通过以上步骤,你可以在Java中使用Apache POI库创建和写入Excel文件,这个库提供了丰富的API来处理Excel文档的各个方面,包括格式化、合并单元格、添加图表等,掌握这些基本技能将使你在处理Excel文件时更加得心应手。



















