当前位置: 首页 > news >正文

Java使用POI导出后数字类型为常规类型,不能计算

今日日常撸码,甲方提出来excel导出后,数字类型那一列是常规类型,并不是数字,无法进行计算,如下图:

这里和导出的字段类型有关,我用的是POI进行excel的导出,需要在实体类上标注出需要导出的字段和CellType类型:(这里的实体类不是我写的,其实涉及金额还是用bigdecimal好一点,用double不严谨~~)

然后在这里也进行了判断,如果是数字类型,那么就设置该列为数字类型。

(过程代码就不贴了,主要是讲一下思路)


重点来了:我发现这一列在excel中打开后并没有被excel所识别为数字类型,但是这一列能进行计算了,我突然发现如果在excel中填充 例如: 9.00 会被识别成数字类型,那我为何不直接对数字进行格式化,让excel直接进行识别呢?

紧接着:

// 设置单元格格式为数字类型
CellStyle cellStyle = cell.getSheet().getWorkbook().createCellStyle();
DataFormat format = cell.getSheet().getWorkbook().createDataFormat();
cellStyle.setDataFormat(format.getFormat("0.00")); // 例如设置为两位小数的格式
cell.setCellStyle(cellStyle);

直接格式化,让数字都保留两位小数,这样就能被excel所识别。

但是有些字段也是数字类型,但是不要进行计算,只是做正常显示,可以做判断或者在实体类上不标注为数字类型等等做法,都可以,这里只提供一个简单的思路。

如果有小伙伴有疑问或者有更好的解决方案可以在下方评论区进行交流!~~~

http://www.lryc.cn/news/397075.html

相关文章:

  • 项目进度管理(5-1)常见的缓冲区监控方法
  • 构造函数语意学(The Semantics of Constructors)
  • 香橙派5plus上跑云手机方案二 waydroid
  • 600Kg大载重起飞重量多旋翼无人机技术详解
  • LlamaFactory可视化微调大模型 - 参数详解
  • 最新 Kubernetes 集群部署 + flannel 网络插件(保姆级教程,最新 K8S 版本)
  • C语言笔记31 •单链表经典算法OJ题-3.反转链表•
  • 网桥与以太网交换机:功能与区别解析
  • 动态引用的艺术:在Postman中实现自动化的终极指南
  • Qt:15.布局管理器(QVBoxLayout-垂直布局、QHBoxLayout-水平布局、QGridLayout-网格布局、拉伸系数,控制控件显示的大小)
  • 图论---无向图中国邮路的实现
  • Rockchip RK3588 - Rockchip Linux SDK脚本分析
  • 【C++中resize和reserve的区别】
  • 计算机毕业设计Python深度学习游戏推荐系统 Django PySpark游戏可视化 游戏数据分析 游戏爬虫 Scrapy 机器学习 人工智能 大数据毕设
  • Python面试题:如何在 Python 中进行正则表达式操作?
  • C#面:简述什么是中间件(Middleware)?
  • AWS Glue 与 Amazon Redshift 的安全通信配置
  • nginx访问控制
  • 高效应对网络攻击,威胁检测响应(XDR)平台如何提升企业应急响应能力
  • 多线程问题
  • 自动优化:SQL Server数据库自动收缩配置指南
  • 华为机考真题 -- 密码解密
  • ScrapySharp框架:小红书视频数据采集的API集成与应用
  • PostgreSQL 数据库监控项
  • 用python生成词频云图(python实例二十一)
  • HTML 标签简写和全称及其对应的中文说明和实例
  • (2024)docker-compose实战 (9)部署多项目环境(LAMP+react+vue+redis+mysql+nginx)
  • 全网最适合入门的面向对象编程教程:13 类和对象的 Python 实现-可视化阅读代码神器 Sourcetrail 的安装使用
  • Django 视图 - FBV 与 CBV
  • AI机器人在未来的应用场景预测:是否会取代人类?华为、百度、特斯拉他们在AI领域都在做什么?