使用Java POI库写入Excel
Excel是一种非常常用的电子表格软件,可以用于数据分析、报表制作等。在Java开发中,我们可以使用Java POI库来操作Excel文件。Java POI库是Apache软件基金会提供的一组用于读写Microsoft Office文件的Java API。
准备工作
在使用Java POI库之前,我们需要在项目中引入相应的依赖。可以通过在项目的pom.xml文件中添加以下依赖来引入Java POI库:
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
</dependencies>
创建Excel文件
要创建一个新的Excel文件,我们首先需要创建一个Workbook
对象。Workbook
代表整个Excel文件,在其中可以包含多个Sheet。
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelWriter {
public static void main(String[] args) throws Exception {
// 创建Workbook对象
Workbook workbook = new XSSFWorkbook();
// 创建Sheet对象
Sheet sheet = workbook.createSheet("Sheet1");
// 创建行对象
Row row = sheet.createRow(0);
// 创建单元格对象,并设置值
Cell cell = row.createCell(0);
cell.setCellValue("Hello, World!");
// 保存Excel文件
FileOutputStream fileOutputStream = new FileOutputStream("output.xlsx");
workbook.write(fileOutputStream);
fileOutputStream.close();
// 关闭Workbook对象
workbook.close();
}
}
在上面的代码中,我们创建了一个XSSFWorkbook
对象作为Workbook
,表示一个新的Excel文件。然后,我们创建了一个名为"Sheet1"的Sheet,并在第一行第一列创建了一个单元格,并设置了值为"Hello, World!"。最后,我们将Workbook保存到文件中,并关闭Workbook。
写入数据
除了简单地写入字符串之外,我们还可以写入其他类型的数据,如日期、数字等。下面是一个示例代码,演示如何写入日期和数字:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.util.Date;
public class ExcelWriter {
public static void main(String[] args) throws Exception {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
Row row = sheet.createRow(0);
// 写入日期
Cell dateCell = row.createCell(0);
dateCell.setCellValue(new Date());
// 写入数字
Cell numericCell = row.createCell(1);
numericCell.setCellValue(3.14159);
FileOutputStream fileOutputStream = new FileOutputStream("output.xlsx");
workbook.write(fileOutputStream);
fileOutputStream.close();
workbook.close();
}
}
在上面的代码中,我们创建了两个单元格,一个用于写入日期,一个用于写入数字。通过调用setCellValue()
方法,我们将相应的值设置到单元格中。
格式化单元格
除了写入数据之外,我们还可以对单元格进行格式化,如设置字体、颜色、边框等。下面是一个示例代码,演示如何格式化单元格:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelWriter {
public static void main(String[] args) throws Exception {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
// 设置字体
Font font = workbook.createFont();
font.setFontName("Arial");
font.setFontHeightInPoints((short) 12);
font.setBold(true);
// 设置单元格样式
CellStyle style = workbook.createCellStyle();
style.setFont(font);
style.setAlignment(HorizontalAlignment.CENTER);
// 设置单元格值和样式
cell.setCellValue("Hello, World!");
cell.setCellStyle(style);
FileOutputStream fileOutputStream = new FileOutputStream("output.xlsx");
workbook.write(fileOutputStream);
fileOutputStream.close();
workbook.close();
}
}
在上面的代码中,我们首先创建了一个Font
对象,用于设置字体的名称、大小和粗细。然后,我们创建了一个CellStyle
对象,并将字体样式设置到该样式中。最后,我们将样式应用