首页 新闻 赞助 找找看

POI 修改Excel单元格格式 想改为数值却变成货币格式

0
悬赏园豆:40 [已解决问题] 解决于 2017-05-16 17:12

求助大神,我已经查了一天了。还是没有解决,无奈来网上求助。

style.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0"));
里面的参数为“0”“0.0”都显示为自定义格式。

设置格式
public void createCell(double value,XSSFCellStyle style) {
XSSFCell c = (XSSFCell) curRow.createCell(curColIndex);
//setCellStyle(c);
c.setCellValue(value);
c.setCellStyle(style);
c.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
curColIndex++;
}
枫雨桐的主页 枫雨桐 | 初学一级 | 园豆:134
提问于:2017-05-09 10:46
< >
分享
最佳答案
0

cellStyle.setDataFormat(format.getFormat("¥#,##0"))?

收获园豆:40
让我发会呆 | 老鸟四级 |园豆:2929 | 2017-05-09 11:47

我是想修改为 数值格式,结果适得其反变成了货币格式。谢谢答主,有没有其他方法。

枫雨桐 | 园豆:134 (初学一级) | 2017-05-09 13:10

@枫雨桐: http://blog.csdn.net/spp_1987/article/details/13770637 

让我发会呆 | 园豆:2929 (老鸟四级) | 2017-05-09 13:55

@让我发会呆: 这些我都试过了不行。我在想是不是我的office版本是2013的问题。或者是XSSFWorkbook和HSSFWorkbook 两者不兼容的问题。

枫雨桐 | 园豆:134 (初学一级) | 2017-05-09 13:59

@让我发会呆: 

一直显示为货币。或者是是自定义

枫雨桐 | 园豆:134 (初学一级) | 2017-05-09 14:04

@枫雨桐: XSSFWorkbook和HSSFWorkbook两者只能同时用一个吧

让我发会呆 | 园豆:2929 (老鸟四级) | 2017-05-09 14:22

@让我发会呆: 是只能用一个,我也不知道问题出在哪里了。

枫雨桐 | 园豆:134 (初学一级) | 2017-05-09 14:23

@枫雨桐: setCellStyle这才是设置格式的吧,setCellType我记得我设置居中的时候用的这个

让我发会呆 | 园豆:2929 (老鸟四级) | 2017-05-09 14:35

@让我发会呆:是这样设置的

枫雨桐 | 园豆:134 (初学一级) | 2017-05-09 14:48

@枫雨桐: 我刚才用hssf试了文本格式  是可以的啊
HSSFCellStyle cs = workbook.createCellStyle();  
cs.setDataFormat(workbook.createDataFormat().getFormat("@")); 

hssfCell.setCellStyle(cs);  

只能帮你到这了

让我发会呆 | 园豆:2929 (老鸟四级) | 2017-05-09 14:58

@让我发会呆: 这个我试了,文本是可以、不管怎样还是谢谢你了。若到晚上还没有更好的答案,我就采纳你的了。

枫雨桐 | 园豆:134 (初学一级) | 2017-05-09 15:06
其他回答(2)
0

同问,我也遇到相同的问题,请问你最后找到解决的办法了吗?

等待你的回复

https://q.cnblogs.com/q/101451/

Mr_伍先生 | 园豆:6 (初学一级) | 2017-12-29 12:40
0

最近写程序也遇到了这个问题,多方查询最终解决,虽然过去这么长时间,也想给后来人提供一个方法
XSSFWorkbook workbook = new XSSFWorkbook();
......
XSSFCellStyle cellStyle3 = workbook.createCellStyle();
cellStyle3.setDataFormat(workbook.createDataFormat().getFormat("#,##0.00_ "));

_令狐冲 | 园豆:202 (菜鸟二级) | 2023-03-02 15:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册