本示例演示如何在excel文档中使用HSSFCellStyle和HSSFFont格式化单元格样式。使用此类,我们可以定义单元格边框,前景色和背景色。我们还可以定义用于显示单元格值的字体。
package org.nhooo.example.poi; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.usermodel.BorderStyle; import org.apache.poi.ss.usermodel.FillPatternType; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; public class ExcelCellFormat { public static void main(String[] args) { // 创建工作簿和工作表的实例 HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet(); // 创建一个HSSFCellStyle实例,该实例将用于格式化 //细胞。在这里,我们定义单元格的顶部和底部边框, // 定义背景色。 HSSFCellStyle style = workbook.createCellStyle(); style.setBorderTop(BorderStyle.DOUBLE); style.setBorderBottom(BorderStyle.THIN); style.setFillForegroundColor( HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex()); style.setFillPattern(FillPatternType.SOLID_FOREGROUND); // 我们还定义了将用于显示字体的字体 //单元格的数据。我们将字体设置为ARIAL,大小为20pt, // 使其变粗,并赋予蓝色作为颜色。 HSSFFont font = workbook.createFont(); font.setFontName(HSSFFont.FONT_ARIAL); font.setFontHeightInPoints((short) 20); font.setBold(true); font.setColor(HSSFColor.HSSFColorPredefined.BLUE.getIndex()); style.setFont(font); // 我们创建一个简单的单元格,设置其值并应用单元格样式。 HSSFRow row = sheet.createRow(1); HSSFCell cell = row.createCell(1); cell.setCellValue(new HSSFRichTextString("Hi there... It's me again!")); cell.setCellStyle(style); sheet.autoSizeColumn((short) 1); // 最后,我们将工作簿写到一个excel文件中。 try (FileOutputStream fos = new FileOutputStream(new File("ExcelDemo.xls"))) { workbook.write(fos); } catch (IOException e) { e.printStackTrace(); } } }
Maven依赖
<!-- https://search.maven.org/remotecontent?filepath=org/apache/poi/poi/4.1.0/poi-4.1.0.jar --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.0</version> </dependency>