Java根据Workbook创建多个sheet
在Java的开发中,我们经常需要使用Excel来进行数据的存储和处理。而Apache POI是一个非常常用的Java API,可以用于读写Microsoft Office的文档格式文件,包括了对Excel的读写操作。本文将介绍如何使用Apache POI创建多个sheet的Workbook,并附带代码示例。
Apache POI简介
Apache POI是Apache软件基金会的一个开源项目,提供了用于读写Microsoft Office格式文件的Java API。这个项目主要包含了以下几个子项目:
- POI,提供了对Office文档的读写操作。
- POI-OOXML,提供了对Office OpenXML格式(即docx、xlsx、pptx等)的读写操作。
- POI-HSSF,提供了对Excel 97-2003格式(即xls)的读写操作。
- POI-XSSF,提供了对Excel 2007及以上版本格式的读写操作。
在本文中,我们将使用POI-XSSF来创建多个sheet的Workbook。
创建Workbook对象
首先,我们需要创建一个Workbook对象来表示整个Excel文件。Workbook是POI中的一个核心类,可以用于创建和管理sheet。
我们可以使用以下代码来创建一个XSSFWorkbook对象:
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
public class CreateWorkbook {
public static void main(String[] args) {
Workbook workbook = new XSSFWorkbook();
// TODO: 添加sheet和内容
// 保存Workbook到文件
// ...
}
}
在上面的代码中,我们通过new XSSFWorkbook()
来创建一个XSSFWorkbook对象。XSSFWorkbook是POI-XSSF中的一个类,用于创建Excel 2007及以上版本格式的Workbook。
创建Sheet对象
接下来,我们可以使用Workbook对象来创建新的sheet。每个sheet都是一个Sheet对象,可以用于添加和管理每个sheet中的内容。
我们可以使用以下代码来创建一个新的Sheet对象:
import org.apache.poi.ss.usermodel.Sheet;
public class CreateSheet {
public static void main(String[] args) {
Workbook workbook = new XSSFWorkbook();
// 创建一个名为"Sheet1"的sheet
Sheet sheet1 = workbook.createSheet("Sheet1");
// TODO: 添加内容到sheet1
// 创建一个名为"Sheet2"的sheet
Sheet sheet2 = workbook.createSheet("Sheet2");
// TODO: 添加内容到sheet2
// 保存Workbook到文件
// ...
}
}
在上面的代码中,我们通过调用Workbook对象的createSheet()
方法来创建一个新的Sheet对象。createSheet()
方法接受一个字符串参数,用于指定sheet的名称。
添加内容到Sheet
创建了Sheet对象后,我们可以使用它来添加内容到每个sheet中。
以下是一个示例,演示如何向sheet中添加数据:
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
public class AddDataToSheet {
public static void main(String[] args) {
Workbook workbook = new XSSFWorkbook();
// 创建一个名为"Sheet1"的sheet
Sheet sheet1 = workbook.createSheet("Sheet1");
// 创建行和单元格
Row row = sheet1.createRow(0);
Cell cell1 = row.createCell(0);
Cell cell2 = row.createCell(1);
// 设置单元格的值
cell1.setCellValue("姓名");
cell2.setCellValue("年龄");
// 创建下一行和单元格
Row row2 = sheet1.createRow(1);
Cell cell3 = row2.createCell(0);
Cell cell4 = row2.createCell(1);
// 设置单元格的值
cell3.setCellValue("张三");
cell4.setCellValue(18);
// 创建一个名为"Sheet2"的sheet
Sheet sheet2 = workbook.createSheet("Sheet2");
// TODO: 添加内容到sheet2
// 保存Workbook到文件
// ...
}
}
在上面的代码中,我们通过调用Sheet对象的createRow()
和createCell()
方法来创建行和单元格。然后,我们可以使用setCellValue()
方法来设置单元格的值。
保存Workbook到文件
最后,我们需要将Workbook保存到文件中。
以下是一个示例,演示如何将Workbook保存到文件:
import org.apache.poi.ss