Java 字体无法在poi excel中创建多个工作表
我正在使用ApachePOI将内容写入多个Excel工作表 我面临一个奇怪的字体风格问题 我正在用粗体字体写专栏标题。对于第一张图纸,字体样式工作正常,但对于下一张图纸,字体样式工作不正常,即字体不是粗体 以下是我正在使用的代码:Java 字体无法在poi excel中创建多个工作表,java,apache-poi,xssf,Java,Apache Poi,Xssf,我正在使用ApachePOI将内容写入多个Excel工作表 我面临一个奇怪的字体风格问题 我正在用粗体字体写专栏标题。对于第一张图纸,字体样式工作正常,但对于下一张图纸,字体样式工作不正常,即字体不是粗体 以下是我正在使用的代码: public static XSSFCellStyle createXLSXColumnHeaderStyle(SXSSFWorkbook wb) { XSSFCellStyle style = (XSSFCellStyle) wb.createCellSty
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()));
}
}
您只发布了一半的代码,即我找不到
createXLSXCell
方法,也找不到生成多张工作表的一般方法(假设您调用generateTableHeader
,但我只能假设)。您的样式是否也适用于与字体无关的功能,如边框、文本对齐?还有什么原因不在createXLSXColumnHeaderStyle
方法中设置对齐和换行文本样式?请发布整个代码。generateTableHeader调用了多少次,何时调用?如何创建多张图纸?有关示例,请参阅。