当前位置: 首页 > 知识库问答 >
问题:

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

冯茂实
2023-03-14

如何为单个单元格设置两种不同的样式?当前我正在显示中的单元格值

  1. 粗体
  2. 货币格式,例如: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个答案

百里光熙
2023-03-14

一个单元格上只能放一个样式。把它们两个合并起来就行了:

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);
 类似资料:
  • 我无法将此行的样式设置为: 它给我的错误是“无法在基元类型void上调用setCellValue(String)”。这种情况下的错误是什么?我如何在单行代码中实现所有3个目标?

  • 我想应用颜色的单元格以及格式的单元格值(例如,日期,金额)。但当我应用两个单元格样式时,只有最后一个样式被应用在单元格上。

  • setColumn 样式影响范围为整列。 设置 range 参数为 A1:D1,第一反应是设置第一行的前四个单元格样式,但是实际效果确是设置 第一列、第二列、第三列、第四列 整列。 函数原型 setColumn(string $range, double $width [, resource $formatHandler]); string $range $config = ['path' =>

  • setRow 样式影响范围为整行。 设置 range 参数为 A1:D1,第一反应是设置第一行的前四个单元格样式,但是实际效果确是设置 第一行整行。 如果是 A1:B3 ,就会设置 第一行、第二行、第三行样式,因为单元格范围覆盖了 第一行、第二行、第三行。 函数原型 setRow(string $range, double $height [, resource $formatHandler]);

  • 我的excel工作表中有两个单元格,其中一个单元格包含如下字符串: 而另一个单元格有欧元货币,例如: 现在我想复制这两个值,即“总额”和“223.463.687€”,并将其复制到第三个单元格中。我使用的公式是这样的: 我得到以下结果: 但是我应该: 注: 货币的格式是德语格式,意思是“.”(小数点)和“,”(昏迷)扮演相反的角色。在德语格式中,“,”是小数点,在英语中是“。”。