JavaApachePOI-XSSFcellSetFillBackgroundColor没有效果
我查看了所有堆栈溢出,似乎无法让java代码填充XSSF excel单元格的背景色。根据其他人的说法,这将使左上角的单元格变为黄色:JavaApachePOI-XSSFcellSetFillBackgroundColor没有效果,java,excel,apache-poi,background-color,xssf,Java,Excel,Apache Poi,Background Color,Xssf,我查看了所有堆栈溢出,似乎无法让java代码填充XSSF excel单元格的背景色。根据其他人的说法,这将使左上角的单元格变为黄色: // Example Code try { // prepare FileInputStream resource = new FileInputStream( FILEPATH + FILENAME ); XSSFWorkbook workbook = new XSSFWorkbook( resource ); XSSFShee
// Example Code
try {
// prepare
FileInputStream resource = new FileInputStream( FILEPATH + FILENAME );
XSSFWorkbook workbook = new XSSFWorkbook( resource );
XSSFSheet sheet = workbook.createSheet( "Example Sheet" );
// create
XSSFRow row = sheet.createRow( 0 );
XSSFCell cell = row.createCell( 0 );
XSSFCellStyle style = workbook.createCellStyle();
XSSFColor color = new XSSFColor( Color.YELLOW );
// stylize
style.setFillBackgroundColor( color );
cell.setCellStyle( style );
// finalize
FileOutputStream output = new FileOutputStream( "Example Workbook.xlsx" );
workbook.write( output );
workbook.close();
} catch ( Exception e ) {
// error
e.printStackTrace();
}
……但事实并非如此。有人能告诉我我做错了什么吗?顺便说一下,我正在使用ApachePOI版本3.16
谢谢 CellStyle的三个属性决定了单元格的填充方式:
- 填充图案
- 填充前底色
- 填充背景色
FillPatternType。大斑点使用两种颜色。名称FillForegroundColor具有误导性,但可以理解。它是填充图案的前景色,仍在单元格的背景中
要用一种颜色填充单元格,您需要使用FillPatternType.SOLID\u FOREGROUND
,它使用FOREGROUND颜色。因此,您需要按如下方式更改代码:
// stylize
style.setFillForegroundColor(color);
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
cell.setCellStyle(style);
关闭您的输出
除关于关闭输出流的附加PostScript(自工作簿.Close()以来)之外的所有true
已经在这样做了。谢谢,我不知道,我删除了postscriptum。