字体无法在poi-excel中创建多个工作表

时间:2014-05-13 04:40:52

标签: java apache-poi xssf

我正在使用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()));
    }
}

0 个答案:

没有答案