java导出excel多个sheet页
时间: 2023-08-07 21:02:33 浏览: 117
java导出包含多个sheet的Excel代码示例
要在Java中导出多个sheet页的Excel文件,可以使用Apache POI库,这是一个用于处理Microsoft Office格式文件的Java库。下面是一个简单的示例代码,可以将两个数据集分别导出到两个不同的sheet页:
```java
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExcelExporter {
public static void main(String[] args) throws IOException {
// 创建一个工作簿
Workbook workbook = new HSSFWorkbook();
// 创建第一个sheet页
Sheet sheet1 = workbook.createSheet("Sheet1");
// 创建第二个sheet页
Sheet sheet2 = workbook.createSheet("Sheet2");
// 创建第一个数据集
Object[][] data1 = {{"Name", "Age"}, {"Tom", 12}, {"Jerry", 15}};
// 将第一个数据集写入第一个sheet页
writeDataToSheet(sheet1, data1);
// 创建第二个数据集
Object[][] data2 = {{"Country", "Population"}, {"China", 1400000000}, {"India", 1300000000}};
// 将第二个数据集写入第二个sheet页
writeDataToSheet(sheet2, data2);
// 将工作簿保存到文件
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
workbook.write(fileOut);
fileOut.close();
System.out.println("Excel文件导出成功!");
}
// 将数据集写入sheet页
private static void writeDataToSheet(Sheet sheet, Object[][] data) {
int rowIndex = 0;
for (Object[] rowData : data) {
Row row = sheet.createRow(rowIndex++);
int cellIndex = 0;
for (Object cellData : rowData) {
Cell cell = row.createCell(cellIndex++);
if (cellData instanceof String) {
cell.setCellValue((String) cellData);
} else if (cellData instanceof Integer) {
cell.setCellValue((Integer) cellData);
}
}
}
}
}
```
以上代码中,我们创建了一个HSSFWorkbook对象来表示整个Excel文件,然后创建了两个Sheet对象来表示两个sheet页。接下来,我们将两个数据集分别写入到这两个sheet页中,最后将整个工作簿保存到文件中。注意,我们使用了一个writeDataToSheet方法来将数据集写入到sheet页中。这个方法会根据数据集的类型,分别设置单元格的值。
阅读全文