java用poi生成表格并自定义标题
时间: 2024-04-29 14:24:26 浏览: 85
利用POI生成EXCEL文件的方法实例
下面是使用POI生成表格并自定义标题的Java示例代码:
```java
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExcelGenerator {
public static void main(String[] args) throws IOException {
// 创建工作簿
Workbook workbook = new XSSFWorkbook();
// 创建工作表
Sheet sheet = workbook.createSheet("表格名称");
// 创建自定义标题行
Row titleRow = sheet.createRow(0);
CellStyle titleStyle = workbook.createCellStyle();
titleStyle.setAlignment(HorizontalAlignment.CENTER);
Font titleFont = workbook.createFont();
titleFont.setBold(true);
titleFont.setFontHeightInPoints((short) 14);
titleStyle.setFont(titleFont);
Cell titleCell = titleRow.createCell(0);
titleCell.setCellValue("自定义标题");
titleCell.setCellStyle(titleStyle);
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 3));
// 创建表头行
Row headerRow = sheet.createRow(1);
String[] headers = {"列1", "列2", "列3", "列4"};
CellStyle headerStyle = workbook.createCellStyle();
headerStyle.setAlignment(HorizontalAlignment.CENTER);
Font headerFont = workbook.createFont();
headerFont.setBold(true);
headerStyle.setFont(headerFont);
for (int i = 0; i < headers.length; i++) {
Cell headerCell = headerRow.createCell(i);
headerCell.setCellValue(headers[i]);
headerCell.setCellStyle(headerStyle);
}
// 创建数据行
Object[][] data = {
{"数据1-1", "数据1-2", "数据1-3", "数据1-4"},
{"数据2-1", "数据2-2", "数据2-3", "数据2-4"},
{"数据3-1", "数据3-2", "数据3-3", "数据3-4"}
};
CellStyle dataStyle = workbook.createCellStyle();
dataStyle.setAlignment(HorizontalAlignment.CENTER);
for (int i = 0; i < data.length; i++) {
Row dataRow = sheet.createRow(i + 2);
for (int j = 0; j < data[i].length; j++) {
Cell dataCell = dataRow.createCell(j);
dataCell.setCellValue(data[i][j].toString());
dataCell.setCellStyle(dataStyle);
}
}
// 调整列宽
for (int i = 0; i < headers.length; i++) {
sheet.autoSizeColumn(i);
}
// 输出到文件
FileOutputStream outputStream = new FileOutputStream("表格文件名.xlsx");
workbook.write(outputStream);
workbook.close();
outputStream.close();
}
}
```
在上面的示例中,我们通过以下步骤生成了一个包含自定义标题和表头的表格:
1. 创建工作簿。
2. 创建工作表。
3. 创建自定义标题行,并设置样式和字体。
4. 合并自定义标题单元格。
5. 创建表头行,并设置样式和字体。
6. 创建数据行,并设置样式。
7. 调整列宽。
8. 输出到文件。
你可以根据需要修改代码中的表格名称、自定义标题、表头、数据和输出文件名。
阅读全文