2015-04-23 144 views
2

如何爲單個單元格設置兩種不同樣式?目前,我展示一個單元格的值在爲單個單元格設置兩種樣式

  1. BOLD
  2. 貨幣格式如:2,300

預期的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); 

回答

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); 
+0

感謝您的快速回復。有效!! 。但也有一些情況下,我只想以貨幣格式顯示價值,而不是粗體。 –

+0

您可以創建CurrencyFormat樣式,並在特殊情況下使用'cloneStyleFrom(CellStyle source)'方法。然後在克隆的風格上,您可以應用「BOLD」。 –