为单个单元格设置两种样式

时间:2015-04-23 09:11:19

标签: java excel apache-poi

如何为单个单元格设置两种不同的样式?目前我在

中显示一个单元格值
  1. BOLD
  2. 货币格式,例如:2,300
  3. 预期o / p: 2,300

    但是最后一种风格会覆盖前一种风格,而我只能使用后一种风格。

    XSSFCellStyle my_style = (XSSFCellStyle) wb.createCellStyle();
        XSSFFont my_font=(XSSFFont) wb.createFont();
        my_font.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD);
        my_style.setFont(my_font);
    XSSFCellStyle currencyFormat = (XSSFCellStyle) wb.createCellStyle();
        XSSFDataFormat df =(XSSFDataFormat) wb.createDataFormat(); 
        currencyFormat.setDataFormat(df.getFormat("#,##0"));
    

    在此处设置数据

                    rowSavingsTotal.createCell(a).setCellValue(2300); 
                    rowSavingsTotal.getCell(a).setCellStyle(my_style);
                    rowSavingsTotal.getCell(a).setCellStyle(currencyFormat);
    

1 个答案:

答案 0 :(得分:2)

您只能在单元格上放置一种样式。只需合并其中两个:

XSSFCellStyle my_style = (XSSFCellStyle) wb.createCellStyle();
XSSFFont my_font=(XSSFFont) wb.createFont();
my_font.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD);
my_style.setFont(my_font);
XSSFDataFormat df =(XSSFDataFormat) wb.createDataFormat(); 
my_style.setDataFormat(df.getFormat("#,##0"));
rowSavingsTotal.createCell(a).setCellValue(2300); 
rowSavingsTotal.getCell(a).setCellStyle(my_style);