解决POI导出Excel时无法把单元格格式设置成数值类型,而不是变为货币或者自定义(附带相关问题的解决方法)

博客作者在尝试从百度搜索设置Excel单元格格式的方法未果后,自行研究得出解决办法。关键在于使用DataFormat的getFormat方法,设置格式为0.00_,下划线后必须跟一个空格。此格式适用于需要显示数值到小数点后两位的情况。此外,还提供了通过Excel界面设置单元格格式的步骤作为参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

百度上看来一大堆设置单元格格式的文章,都没有用
按照百度来的方法实验结果:
在这里插入图片描述
在这里插入图片描述
这都不是我想要的结果,我想要数值!数值!数值!

还是自己研究吧,最终终于研究出来了,其实就是设置format的规则而已,网上说设置的#,##0.000.00都不对,直接上代码:

CellStyle cellStyle = workbook.createCellStyle();
DataFormat df = workbook.createDataFormat(); // 此处设置数据格式
cellStyle.setDataFormat(df.getFormat("0.00_ "));// 最关键的是'_ ',最后有个空格别忘了,空格是必须的

/****最后再把cellStyle设置到Cell里就好了****/
(备注:下划线后面的空格是 必须的)

结果截图:
在这里插入图片描述

结论:

整数:"0_ "
小数:"0.00_ " (精确到几位就加几个0)

遇到相关问题的解决方法(不限于数值类型)(看截图,不多做解释):

第一步:

右键跳出菜单,并点击设置单元格格式
在这里插入图片描述

第二步:

选择你想要的单元格格式类型
在这里插入图片描述

第三步:

再点击自定义,类型里面的那个规则公式就是你想要的format规则,直接把规则复制到代码里就好了
在这里插入图片描述

收工

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值