1
晚上好! 我在Apache poi v。3.14中遇到了一些麻烦,当我用Libreoffice或Excel打开呈现的xlsx时,样式未正确应用。Apache POI背景颜色风格似乎不起作用
我有这样的代码:为锁定
class... {
private XSSFCellStyle doubleLockStyle;
/**
* Create default cell style.
*
* @param myWorkBook
* @return The cell style.
*/
private XSSFCellStyle createCell(XSSFWorkbook myWorkBook, boolean locked) {
XSSFCellStyle cs = myWorkBook.createCellStyle();
cs.setAlignment(HorizontalAlignment.CENTER);
if (locked) {
cs.setFillBackgroundColor(LOCKED_COLOR); //rgb from awt colors
cs.setFillPattern(FillPatternType.SOLID_FOREGROUND);
cs.setLocked(true);
} else {
cs.setLocked(false);
}
return cs;
}
/**
* Prepare cell styles.
*
* @param myWorkBook
*/
private void initStyles(XSSFWorkbook myWorkBook) {
...
short df = myWorkBook.createDataFormat().getFormat("0.00");
doubleLockStyle = createCell(myWorkBook, true);
doubleLockStyle.setDataFormat(df);
...
}
private void writeSheet(XSSFWorkbook myWorkBook, CalendarValueType type, Date startDate, Date endDate) {
...
cell.setCellStyle(doubleLockStyle);
...
}
}
卡的设置。 输出不显示背景颜色,也不锁定单元格。 我找不出什么问题。我也试着看看它是否是一个知道的错误,但事实并非如此。 任何人都有同样的问题? 如果我将背景填充图案更改为斜线,但单元格会锁定,但背景在Excel和Libre办公室之间并不正确。 谢谢!