问题:
如何通过 java 代码设置 excel 单元格的背景色并导出为本地文件?
解决方案:
立即学习“Java免费学习笔记(深入)”;
使用 apache poi 库实现:
依赖导入:
pom.xml 中添加以下依赖:
<dependency> <groupid>org.apache.poi</groupid> <artifactid>poi</artifactid> <version>5.0.0</version> </dependency> <dependency> <groupid>org.apache.poi</groupid> <artifactid>poi-ooxml</artifactid> <version>5.0.0</version> </dependency>
代码示例:
import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class ExcelBackgroundColor { public static void main(String[] args) { try (XSSFWorkbook workbook = new XSSFWorkbook(); FileOutputStream out = new FileOutputStream("workbook.xlsx")) { Sheet sheet = workbook.createSheet(); Row row = sheet.createRow(0); Cell cell = row.createCell(0); cell.setCellValue("TEST---"); // 创建单元格样式 XSSFCellStyle style = workbook.createCellStyle(); cell.setCellStyle(style); // 填充色 style.setFillForegroundColor(HSSFColor.HSSFColorPredefined.BLUE.getIndex()); style.setFillPattern(FillPatternType.SOLID_FOREGROUND); // 字体颜色 Font font = workbook.createFont(); font.setColor(IndexedColors.WHITE.getIndex()); style.setFont(font); workbook.write(out); } catch (IOException e) { throw new RuntimeException(e); } } }
效果:
执行此代码后,名为 “workbook.xlsx” 的 excel 文件将在本地生成,其中单元格的背景色设置为蓝色,字体颜色设置为白色。