最近看到了一个问题就是java导出excel中带小数点的数字显示不对, 比如我想在excel中第一行显示:  3,000.0 但是在excle中导出的格式总是不带小数点 3000(非文本格式),而且也不是以金融格式显示的。这时候我们的解决方法是要为单元格中的数字设置dataformat。代码如下 import java.io.FileOutputStream; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.hssf.usermodel.HSSFDataFormat; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; public class ExcelUtil { public void testWriteExcel() {

String excelPath = "d:/test.xls";  HSSFWorkbook workbook = null;  try {    // XSSFWorkbook used for .xslx (>= 2007), HSSWorkbook for 03 .xsl    workbook = new HSSFWorkbook();// XSSFWorkbook();//WorkbookFactory.create(inputStream);  } catch (Exception e) {    System.out.println("创建Excel失败: ");    e.printStackTrace();  }  if (workbook != null) {    Sheet sheet = workbook.createSheet("测试数据");    Row row0 = sheet.createRow(0);    for (int i = 0; i < 6; i++) {    double test = 3000.0;    Cell cell = row0.createCell(i, Cell.CELL_TYPE_NUMERIC); CellStyle cellStyle = workbook.createCellStyle(); HSSFDataFormat df = workbook.createDataFormat();  //此处设置数据格式   cellStyle.setDataFormat(df.getFormat("#,#0.0")); //小数点后保留两位,可以写contentStyle.setDataFormat(df.getFormat("#,#0.00"));   cell.setCellStyle(cellStyle);      cell.setCellValue( test );         }    try {      FileOutputStream outputStream = new FileOutputStream(excelPath);      workbook.write(outputStream);      outputStream.flush();      outputStream.close();    } catch (Exception e) {      System.out .println("写入Excel失败: ");      e.printStackTrace();    }  }

} public static void main(String[] args) {     ExcelUtil eu = new ExcelUtil();     eu.testWriteExcel(); }

}

当没设置format的时候,光设置CELL_TYPE_NUMERIC只能让数字在excel中显示为数字类型(非文本类型,而不能保证它小数位和金融格式(每位一个逗号)。

所以如果要达到要求就必须要设置cell的dataformat如上代码所示。

CellStyle cellStyle = workbook.createCellStyle(); HSSFDataFormat df = workbook.createDataFormat();  //此处设置数据格式   cellStyle.setDataFormat(df.getFormat("#,#0.0")); //小数点后保留两位,可以写contentStyle.setDataFormat(df.getFormat("#,#0.00"));   cell.setCellStyle(cellStyle);

这几行代码起了绝对的作用。最后结果如下图说是:

java导出excel数字格式_POI 导出excel带小数点的数字格式显示不对解决方法相关推荐

  1. POI 导出excel带小数点的数字格式显示不对解决方法

    POI 导出excel带小数点的数字格式显示不对解决方法 参考文章: (1)POI 导出excel带小数点的数字格式显示不对解决方法 (2)https://www.cnblogs.com/firstd ...

  2. poi导入excel日期处理_POI处理Excel中各种日期格式问题

    前不久写过一篇随笔<EXCEL解析之终极方法WorkbookFactory>,提到使用WorkbookFactory来处理Excel文件数据,最近发现一个问题就是这个办法不能很好的处理各种 ...

  3. 部分正则表达式匹配所有数字,包括带小数点的数字

    用于匹配的正则表达式为 :([1-9]\d*\.?\d*)|(0\.\d*[1-9]) ( [1-9] :匹配1~9的数字: \d :匹配数字,包括0~9: * :紧跟在 \d 之后,表明可以匹配零个 ...

  4. java导出excel 边框不全_POI 导出Excel合并单元格后部分边框不显示

    用户需要导出自定义表格,其中合并单元格样式遇到的问题,合并后只显示第一行第一列的边框,其他边框不显示,于是遍查百度,寻到一点思路 ①了解Excel绘制原理 ②了解绘制Excel顺序 ③绘制Excel单 ...

  5. setcellvalue 格式_POI对EXCEL的操作【重点:如何设置CELL格式为文本格式】

    实际开发过程中通常用到的就是从数据库导出EXCEL表格了,JXL可以这样做,其实POI也可以(关于JXL与POI的异同可访问我之前总结的文章),之前写过POI对七种文档(当然也包括EXCEL)的内容读 ...

  6. setcellvalue 格式_POI对Excel单元格的格式的设置参数

    最近在做导出Excel的功能封装,遇到了几个问题: 单元格宽度问题 数据不是数字格式问题 格式化了之后显示的不是数字而是######的问题(其实是因为单元格宽度不够导致的无法显示格式化之后的内容) 下 ...

  7. php输出excel表格乱码和第一个0不显示的解决方法(详细)

    而关于php的也有,但是大多都是用phpExcel导出的方法或者spreadsheet等类或者控件之类的导出方法,而我所在维护的系统却用很简单的方法,如下,网上很少有讲如何设置要导出数据的EXcel格 ...

  8. ur5机器人solidworks导出urdf(附带SW的y轴朝上和rviz零件散落的解决方法)

    ur5的solidworks模型下载地址(免费下载):https://www.mfcad.com/tuzhi/800/738923.html y轴朝上的解决方法: 1.根据这个教程 https://b ...

  9. excel文件点击第一次打开是灰色第二次才能真正打开 解决方法

    问题描述: excel文件点击第一次打开就是灰色的界面,下面还写着就绪,如下图.得再次打开一下excel文件才能真正打开. 试了下面两个方法: 1.点击excel 选项 --> 高级  --&g ...

最新文章

  1. 为 Visual Studio 安装数据库工具
  2. 三角网导线平差实例_导线测量平差实例
  3. Windows Server 2012 R2 安装完勒索病毒后出现的共享和DNS等问题
  4. 面试官:你不懂六大设计原则,回去等通知吧!
  5. android 相对布局_【学习】安卓212相对布局的练习含代码版
  6. Python代码—测试
  7. 中文乱码之springboot框架中两工程之间参数传递乱码
  8. Java基础笔记(2) 程序入口 关键字 标识符 常量 变量
  9. java容量_java中常用集合类的容量
  10. 蓝桥杯历届真题题目+解析+代码+答案(2013-2020)(JavaA、B、C组)(C++语言)(Python)
  11. 【PyCharm 使用指南】之汉化插件(官方提供)
  12. 编译 mobileTerminal
  13. 黑莓手机刷linux,黑莓老机型ROM刷机资源
  14. CCFCSP 201712-1 最小差值
  15. 阿里云无影云桌面怎么使用?用户名密码连接登录新手教程
  16. django商城项目之历史浏览记录
  17. IP地址屏蔽功能设计
  18. iOS相机、相册的访问权限
  19. 强化学习(RL)原理以及数学模型
  20. LZJ流体质量计算机价格,LZJ-ⅢC型流体质量计算机技巧.doc

热门文章

  1. 24点游戏c语言链表做法,解24点
  2. 如何在不重装系统的情况下处理流氓软件和木马病毒?
  3. SEO入门教程之名词解释
  4. MBA工商管理-管理类联考怎么复习?
  5. 围棋定式详解 v3.01 下载
  6. 架构师系列知识-整体框架
  7. 关于windows下安装wampserver服务器系统丢失msvcr100.dll及VCRUNTIME140.dll的解决办法
  8. 鸿蒙系统下矿山! 华为“矿鸿”重磅发布!
  9. 解决ubuntu下vi上下左右方向键出现字母,backspace键不能删除字符
  10. Win10无法登录微软账号错误代码0x80190001的解决方法