题
我能够获得细胞的日期格式,但我一直无法得到细胞格式设置为货币...任何人都有如何创建一种风格得到这个工作的例子吗?我下面的代码显示我创建...的styleDateFormat就像一个冠军,而styleCurrencyFormat还没有对电池影响的样式。
private HSSFWorkbook wb;
private HSSFCellStyle styleDateFormat = null;
private HSSFCellStyle styleCurrencyFormat = null;
...
public CouponicsReportBean(){
wb = new HSSFWorkbook();
InitializeFonts();
}
public void InitializeFonts()
{
styleDateFormat = wb.createCellStyle();
styleDateFormat.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));
styleCurrencyFormat = wb.createCellStyle();
styleCurrencyFormat.setDataFormat(HSSFDataFormat.getBuiltinFormat("$#,##0.00"));
}
解决方案
通过文档略偏挖后,我发现了答案:
http://poi.apache.org/ apidocs /组织/阿帕奇/ POI / HSSF /的usermodel / HSSFDataFormat.html
只需要找到一个合适的预先设定的格式,并提供该代码。
styleCurrencyFormat.setDataFormat((short)8); //8 = "($#,##0.00_);[Red]($#,##0.00)"
下面是更多的例子: http://www.roseindia.net/java/poi/setDataFormat.shtml
其他提示
有关至少Excel 2010中: 去到Excel中。格式化他们的方式,你希望它的单元格。
然后返回到格式对话。选择自定义。
复制它有上下型顶行的文本粘贴:成
createHelper.createDataFormat().getFormat("<here>");
示例:
createHelper.createDataFormat().getFormat("_($* #,##0.00_);_($* (#,##0.00);_($* \"-\"??_);_(@_)"); //is the "Accounting" format.
确保您设置填充您的细胞通过使用双。 使用索引时可能会使用不同版本的Excel中的问题。请注意,您在上面创建新格式自定义的对话请从第二步结束了。
只需更新上述答复。短“8”不为我工作,但“7”一样。
cell.setCellValue(416.17);
cellStyle.setDataFormat((short)7);
cell.setCellStyle(cellStyle);
O / P为$ 416.00
您可以试试这个代码格式化与货币模式的细胞(如巴西或德国例如使用千分12.345,67。):
HSSFCellStyle cell = yourWorkBook.createCellStyle();
CreationHelper ch = yourWorkBook.getCreationHelper();
cell.setDataFormat(ch.createDataFormat().getFormat("#,##0.00;\\-#,##0.00"));
不隶属于 StackOverflow