加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在Apache Poi 3.7中以特定格式在数字单元格中写入双重值

发布时间:2020-12-14 05:03:59 所属栏目:Java 来源:网络整理
导读:我需要使用特定的格式在数字单元格中写一个Double值,我的意思是,生成的xls必须具有包含Double值的数值单元格,例如:8,1.我正在尝试像: DecimalFormat dFormat = new DecimalFormat("##.#");dFormat.format(doubleValue); 但是,由于format方法返回一个String
我需要使用特定的格式在数字单元格中写一个Double值,我的意思是,生成的xls必须具有包含Double值的数值单元格,例如:8,1.我正在尝试像:
DecimalFormat dFormat = new DecimalFormat("##.#");
dFormat.format(doubleValue);

但是,由于format方法返回一个String,所以无论是否创建单元格,它们始终表现为文本单元格.我在想两个选择:

>强制单元格作为数字单元格.
>忘记DecimalFormat并使用Double类指定逗号作为小数分隔符,我不知道这是可能的.

任何想法?

解决方法

我可能会缺少某些东西,但是我想您只需要使用格式规则对单元格进行样式,以显示一个小数位
// Do this only once per file
CellStyle cellStyle = wb.createCellStyle();
cellStyle.setDataFormat(
    wb.getCreationHelper().createDataFormat().getFormat("#.#"));

// Create the cell
Cell c = row.createCell(2);
c.setCellValue(8.1);
c.setCellStyle(cellStyle);

这将创建格式化规则,创建单元格,将单元格设置为值8.1,然后对其进行样式化

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读