我正在使用Apache POI将内容写入多个Excel工作表。
我遇到了一个字体样式的奇怪问题。
我正在用粗体字体编写列标题。对于第一个工作表字体样式工作正常,但对于下一个工作表,字体样式不能正常工作,但字体不是粗体。
以下是我正在使用的代码:
public static XSSFCellStyle createXLSXColumnHeaderStyle(SXSSFWorkbook wb) {
XSSFCellStyle style = (XSSFCellStyle) wb.createCellStyle();
Font font = wb.createFont();
font.setFontHeightInPoints((short) PdfConstants.NUMBER_ELEVEN);
font.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD);
style.setFont(font);
style.setBorderBottom(XSSFCellStyle.BORDER_THIN);
style.setBorderLeft(XSSFCellStyle.BORDER_THIN);
style.setBorderRight(XSSFCellStyle.BORDER_THIN);
style.setBorderTop(XSSFCellStyle.BORDER_THIN);
style.setFillForegroundColor(new XSSFColor(Color.GRAY));
style.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND);
return style;
}
private void generateTableHeader() {
int colIndex = 0;
try {
if (sheetFlag) {
sheet = wb.createSheet(reportName + " " + sheetCounter);
}
XSSFCellStyle style = createXLSXColumnHeaderStyle(wb);
style.setWrapText(true);
style.setAlignment(CellStyle.ALIGN_LEFT);
rowhead = sheet.createRow(rowIndex);
Cell cell = null;
cell = createXLSXCell(style, rowhead, colIndex++, Cell.CELL_TYPE_STRING);
cell.setCellValue(new HSSFRichTextString("Area"));
sheetFlag = false;
rowIndex = rowIndex + 1;
} catch (Exception e) {
LOGGER.debug("Exception Occured in generatedatavalue method of LocationAttribute class:"
+ Arrays.toString(e.getStackTrace()));
}
}