Java 导出 Excel 样式设置教程
整体流程
为了实现 Java 导出 Excel 样式设置,我们需要按照以下步骤进行操作:
- 创建 Excel 文件对象并设置样式。
- 创建 Sheet 对象并设置样式。
- 创建行对象并设置样式。
- 创建单元格对象并设置样式。
- 写入数据并保存 Excel 文件。
下面我们将逐步展开每个步骤的操作和代码示例。
步骤一:创建 Excel 文件对象并设置样式
首先,我们需要创建一个 Excel 文件对象,并设置一些基本的样式,比如字体、边框等。下面是代码示例:
// 引用 Apache POI 库
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
// 创建 Excel 文件对象
Workbook workbook = new XSSFWorkbook();
// 创建字体样式
Font font = workbook.createFont();
font.setFontName("Arial");
font.setFontHeightInPoints((short) 12);
font.setBold(true);
// 创建单元格样式
CellStyle style = workbook.createCellStyle();
style.setFont(font);
style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
style.setAlignment(HorizontalAlignment.CENTER);
style.setVerticalAlignment(VerticalAlignment.CENTER);
// 设置边框样式
style.setBorderTop(BorderStyle.THIN);
style.setBorderBottom(BorderStyle.THIN);
style.setBorderLeft(BorderStyle.THIN);
style.setBorderRight(BorderStyle.THIN);
// 创建 Sheet 对象
Sheet sheet = workbook.createSheet("Sheet1");
在上述代码中,我们首先导入了 org.apache.poi.ss.usermodel.*
和 org.apache.poi.xssf.usermodel.XSSFWorkbook
这两个包,然后创建了一个 XSSFWorkbook
对象作为 Excel 文件对象。
接下来,我们创建了一个字体样式对象 font
,设置了字体的名称为 "Arial",字体大小为 12,字体加粗。
然后,我们创建了一个单元格样式对象 style
,设置了字体样式为上面创建的字体样式,填充颜色为灰色 25% 的前景色,水平和垂直居中对齐,边框样式为细线。
最后,我们创建了一个 Sheet 对象 sheet
,并命名为 "Sheet1"。
步骤二:创建 Sheet 对象并设置样式
在第一步中,我们已经创建了 Sheet 对象,并设置了一些基本的样式。现在,我们可以根据需要进一步设置 Sheet 的样式。下面是代码示例:
// 设置列宽
sheet.setColumnWidth(0, 5000);
sheet.setColumnWidth(1, 7000);
sheet.setColumnWidth(2, 3000);
// 创建行对象
Row headerRow = sheet.createRow(0);
// 创建标题单元格并设置样式
Cell headerCell1 = headerRow.createCell(0);
headerCell1.setCellValue("姓名");
headerCell1.setCellStyle(style);
Cell headerCell2 = headerRow.createCell(1);
headerCell2.setCellValue("年龄");
headerCell2.setCellStyle(style);
Cell headerCell3 = headerRow.createCell(2);
headerCell3.setCellValue("性别");
headerCell3.setCellStyle(style);
在上述代码中,我们首先设置了列宽,使用 setColumnWidth
方法设置第一列宽度为 5000,第二列宽度为 7000,第三列宽度为 3000,单位为 1/256 字符宽度。
然后,我们创建了一个行对象 headerRow
,用于存放表格的标题行。
接着,我们创建了三个单元格对象 headerCell1
、headerCell2
、headerCell3
,分别对应表格的第一列、第二列、第三列。
然后,我们设置了每个单元格的值和样式。
步骤三:创建行对象并设置样式
在上一步中,我们已经创建了标题行并设置了样式。接下来,我们需要创建数据行并设置样式。下面是代码示例:
// 创建行对象
Row dataRow1 = sheet.createRow(1);
// 创建数据单元格并设置样式
Cell dataCell11 = dataRow1.createCell(0);
dataCell11.setCellValue("张三");
dataCell11.setCellStyle(style);
Cell dataCell12 = dataRow1.createCell(1);
dataCell12.setCellValue(25);
dataCell12.setCellStyle(style);
Cell dataCell13 = dataRow1.createCell(2);
dataCell13.setCellValue("