Java 导出 Excel 样式设置教程

整体流程

为了实现 Java 导出 Excel 样式设置,我们需要按照以下步骤进行操作:

  1. 创建 Excel 文件对象并设置样式。
  2. 创建 Sheet 对象并设置样式。
  3. 创建行对象并设置样式。
  4. 创建单元格对象并设置样式。
  5. 写入数据并保存 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,用于存放表格的标题行。

接着,我们创建了三个单元格对象 headerCell1headerCell2headerCell3,分别对应表格的第一列、第二列、第三列。

然后,我们设置了每个单元格的值和样式。

步骤三:创建行对象并设置样式

在上一步中,我们已经创建了标题行并设置了样式。接下来,我们需要创建数据行并设置样式。下面是代码示例:

// 创建行对象
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("