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

JAVA使用poi解析execl解决数值被转为科学计数法(如:手机号、身份证号、电话、等)解决方法

1、原由

  1.  大家都知道数字在EXCEL表格中存储时有两种表现形式。1.数字作为数值存储。当数字作为数值存储时,单元格中的数字可以参与数学运算。2.数字作为文本存储。当数字作为文本存储时,单元格中的数值不能够参与数学运算。
  2.  数字作为文本存储时,如果没有更改单元格中的内容,单元格中的值就不会发生变化。G2单元格中的值之所以发生改变,其实是因为G2单元格中的数值被以数值的形式存储了,而作为一个数值,123456789987654321这个数值的位数有18位,我们知道一个9位数已经是“亿”级别,这个数已经达到了“亿亿”级别,说这个数是天文数字,一点也不夸张。
  3.  对于一个非常大的数,为了表示方便,科学上常常采用科学计数法的形式来表示。而采用科学计数法表示的时候,小数点位数不能太多,否则的话,这个数字仍然会写的很长,科学计数法书写起来仍然不方便,所以后面的一些数字会以数字0代替,然后在科学计数法中直接省略不写。例如123456789准确的科学计数表示法为1.23456789×10常,但这样写起来依然很长,为了书写上的方便,就损失一些精度,将其表示1.2340000×10,因为小数点后面的0可以省略不写,就可以简写为1.234×108。

小结论

 这个天文数字在EXCEL中被用科学计数法表示,只要这个数字的位数超过15位,那么第15位以后的数字就会被用数字0表示,此时这个数字不可以再恢复成原来的数字,这是个不可逆的过程。如果该数字的位数在15位以内(包括15位),那么即使该数字被用科学计数法表示,其值仍然可以恢复。

2、解决方法

  1. 修改execl中为科学计数法的列

     

  2. 当然有时候因为业务不能去修改execl文件的,我们需要通过代码的方式进行解决

    1. private static String formatDoubleValue(Cell cell) {String cellValue=null;// 以下是判断数据的类型switch (cell.getCellType()) {case HSSFCell.CELL_TYPE_NUMERIC: // 数字DecimalFormat df = new DecimalFormat("0");cellValue = df.format(cell.getNumericCellValue());break;case HSSFCell.CELL_TYPE_STRING: // 字符串cellValue = cell.getStringCellValue();break;case HSSFCell.CELL_TYPE_BOOLEAN: // BooleancellValue = cell.getBooleanCellValue() + "";break;case HSSFCell.CELL_TYPE_FORMULA: // 公式cellValue = cell.getCellFormula() + "";break;case HSSFCell.CELL_TYPE_BLANK: // 空值cellValue = "";break;case HSSFCell.CELL_TYPE_ERROR: // 故障cellValue = null;break;default:cellValue = null;break;}return cellValue;}

相关文章:

JAVA使用poi解析execl解决数值被转为科学计数法(如:手机号、身份证号、电话、等)解决方法

1、原由 大家都知道数字在EXCEL表格中存储时有两种表现形式。1.数字作为数值存储。当数字作为数值存储时,单元格中的数字可以参与数学运算。2.数字作为文本存储。当数字作为文本存储时,单元格中的数值不能够参与数学运算。 数字作为文本存储时,如果没有更…...

hive中substring_index()的使用

substring_index(str,delim,count)str:要处理的字符串delim:分隔符count:计数例子:strwww.wikibt.comsubstring_index(str,.,1)结果是:wwwsubstring_index(str,.,2)结果是:www.wikibt如果count是正数,那么就是从左往右数&#xff…...

LocalDateTime设置时间的年、月、日、时、分、秒、纳秒

如何把String/Date转成LocalDateTime参考String、Date与LocalDate、LocalTime、LocalDateTime之间互转 String、Date、LocalDateTime、Calendar与时间戳之间互相转化参考String、Date、LocalDateTime、Calendar与时间戳之间互相转化 方法介绍 withYear(int year) 指定日期的…...

C语言rand和srand用法详解

在实际编程中&#xff0c;我们经常需要生成随机数&#xff0c;例如&#xff0c;贪吃蛇游戏中在随机的位置出现食物&#xff0c;扑克牌游戏中随机发牌。在C语言中&#xff0c;我们一般使用 <stdlib.h> 头文件中的 rand() 函数来生成随机数&#xff0c;它的用法为&#xff…...

安装作业

1、安装方法 mysql安装常见的方法有四种 序号安装方式说明1yum\rpm简单、快速&#xff0c;不能定制参数2二进制解压&#xff0c;简单配置就可使用 免安装 mysql-a.b.c-linux2.x-x86_64.tar.gz3源码编译可以定制参数&#xff0c;安装时间长 mysql-a.b.c.tar.gz4源码制成rpm包把…...

电压放大器在非共线混频方法检测混凝土中的应用

实验名称&#xff1a;电压放大器在非共线混频方法检测混凝土中的应用研究方向&#xff1a;无损检测测试目的&#xff1a;无损检测是在不损伤或不干扰待测物体的结构材料的情况下&#xff0c;对其内部损伤进行探测的方法。传统无损检测法在仪器携带&#xff0c;操作程序&#xf…...

二十四、Gtk4-GtkExpression

GtkExpression是一种基本类型。它不是GObject的后代。GtkExpression提供了一种描述对值的引用的方法。GtkExpression需要求值才能获得值。 它类似于算术计算。 1 2 3 12是一个表达式。给出了计算的方法。3是来自表达式的值。求值是计算表达式并得到值。 GtkExpression是一种…...

Oracle Dataguard(主库为 Oracle rac 集群)配置教程(02)—— Oracle RAC 主库的相关操作

Oracle Dataguard&#xff08;主库为 Oracle rac 集群&#xff09;配置教程&#xff08;02&#xff09;—— Oracle RAC 主库的相关操作 / 本专栏详细讲解 Oracle Dataguard&#xff08;Oracle 版本为11g&#xff0c;主库为双节点 Oracle rac 集群&#xff09;的配置过程。主要…...

midjournery AI绘画使用指南

midjournery AI绘画使用指南 基于Discord的Midjournery配置&#xff1a; https://www.bilibili.com/video/BV16d4y1A7Zq/?spm_id_from333.337.search-card.all.click&vd_source9c3ca9555620bed64bdee27ae49d37cf 使用原则 使用midjournery绘画的原则是给出对脑海中某个…...

iptables防火墙SNAT和DNAT

iptables防火墙SNAT和DNAT一、SNAT原理和应用1、SNAT原理2、SNAT应用环境3、SNAT转换前提条件二、SNAT案列1、实验需求2、实验环境3、实验目的三、DNAT原理和应用1、DNAT原理2、DNAT 应用环境3、DNAT转换的前提条件四、DNAT案列总结一、SNAT原理和应用 1、SNAT原理 SNAT原理:…...

python | 第二章考试题和练习题

一、考试题 1、turtle八边形绘制 问题描述&#xff1a; 使用turtle库&#xff0c;绘制一个八边形。 参考代码&#xff1a; import turtle as t t.pensize(2) for i in range(8):t.fd(100)t.left(45) 2、turtle八角图形绘制 问题描述&#xff1a; 使用turtle库&#xff0c;…...

Mysql 存储引擎设计:xa协议相关接口功能及实现

需要对接的接口以及每个接口的实现 recovery 阶段 此阶段由 xa.cc 文件中的 xarecover_handlerton() 函数完成&#xff0c;它通过三个接口实现与存储引擎的沟通&#xff1a;recover()&#xff0c;commit_by_xid() &#xff0c;rollback_by_xid()。其流程如下&#xff1a; 此…...

字符串常量池

1.创建对象的思考下面两种创建字符串的方式一样吗&#xff1f;public static void main(String[] args) {//两者一样吗String s1 "hello";String s2 "hello";String s3 new String("hello");String s4 new String("hello");System…...

让技术更有温度,腾讯Light 点亮公益之光

蓝天白云&#xff0c;远处是广东最长跨海大桥——南澳大桥&#xff0c;一艘小船在海面驶过&#xff0c;近处一头中华白海豚露出水面。在第三届腾讯Light技术公益创造营上&#xff0c;海南智渔可持续发展研究中心科学总监郑锐强为我们展现这样一幅人与自然和平相处的美好画面。随…...

电子采购一体化解决方案

企事业数字化转型专家&#xff0c;提供各类应用解决方案。您身边的赋能小助手&#xff01; 文章目录前言一、当下采购的痛点二、解决方案-供应商管理1.供应商管理三、解决方案-企业询价、供应商报价管理四、解决方案-采购订单五、送货、到货、订单管理总结前言 随着各类产业链…...

SAP COPA 获利能力分析深度解析

一、获利分析配置及相关值概述 二、配置&#xff1a;组织结构 2.1 定义经营范围-KEP8 2.2 维护经营关注点-KEA0 2.3 获利能力分析类型解析 2.4 控制范围分配给经营范围-KEKK 三、配置&#xff1a;数据结构-KEA0 3.1 特征字段 3.1.1 特征字段类别 3.1.2 维护特征字段-K…...

Java学习记录day6

书接上回 类与对象 static关键字 static的作用&#xff1a; 修饰一个属性&#xff1a;声明为static的变量实质上就是一个全局变量,其生命周期为从类被加载开始一直到程序结束&#xff1b;修饰方法&#xff1a;无须本类的对象也可以调用该方法&#xff1b;修饰一个类&#x…...

ubuntu 使用 adb 工具卸载鸿蒙系统预装软件

准备工作 打开 USB 调试 进入 “设置->关于手机” 连续点击版本号, 直到有提示开启了"开发人员选项" 进入 “设置->系统和更新->开发人员选项”, 打开 USB 调式, 顺便可以把"自动系统更新"关了 下载 adb 工具 官方地址: https://developer.an…...

Jmeter in Linux - 在Linux系统使用Jmeter的坑

Jmeter in Linux - 在Linux系统使用Jmeter的坑Jmeter in Linux系列目录&#xff1a;o.a.j.JMeter: Error in NonGUIDriver起因错误分析&#xff1a;解决方案&#xff1a;解析日志没有展示请求和响应信息起因解决方案&#xff1a;注意Jmeter in Linux系列目录&#xff1a; 【如…...

什么是特权访问管理(PAM)

特权访问管理 &#xff08;PAM&#xff09; 是指一组 IT 安全管理原则&#xff0c;可帮助企业隔离和管理特权访问、管理特权帐户和凭据、控制谁可以获得对哪些端点的管理访问权限级别&#xff0c;并监视用户对该访问权限执行的操作。 什么是特权访问 特权访问是一种 IT 系统访…...

CnDataSeed发布:中国科研工作者跳槽研究数据库(CAMRD)

一、数据简介 追踪学术流动&#xff0c;解析科研人才动力机制&#xff01; 在中国科研生态快速演化的背景下&#xff0c;科研人才流动是科研创新与学术产出的关键驱动力。但跳槽相关研究在高教研究中一直较为稀缺&#xff0c;系统化、可量化的科研工作者跳槽数据长期缺失&…...

Git 代码库中找回丢失文件的实用指南

1. 为什么Git能帮你找回丢失的代码&#xff1f; 作为开发者&#xff0c;你一定遇到过这样的场景&#xff1a;不小心执行了rm -rf删错了文件&#xff0c;或者手滑把整个功能模块给覆盖了。这时候千万别慌&#xff0c;Git就像个贴心的时光机&#xff0c;能帮你找回99%的丢失文件。…...

Verilog进阶实战:独热码状态机设计序列检测器的核心技巧

1. 独热码状态机的设计哲学 第一次接触独热码(One-Hot)编码时&#xff0c;我盯着那串只有一个1的状态编码看了半天——这不就是硬件版的"单选题"吗&#xff1f;每个状态都有自己的专属VIP通道&#xff0c;这种设计理念在中小规模状态机中简直是降维打击。记得去年做电…...

告别Transformer!用PyTorch从零实现MLP-Mixer图像分类(附完整代码与调参技巧)

告别Transformer&#xff01;用PyTorch从零实现MLP-Mixer图像分类&#xff08;附完整代码与调参技巧&#xff09; 在计算机视觉领域&#xff0c;Transformer架构近年来风头无两&#xff0c;但你是否想过——仅用多层感知机&#xff08;MLP&#xff09;也能构建高性能视觉模型&a…...

Huggingface模型离线加载失败?别慌,可能是.cache文件在捣鬼(附清理与修复指南)

Huggingface模型离线加载失败&#xff1f;别慌&#xff0c;可能是.cache文件在捣鬼&#xff08;附清理与修复指南&#xff09; 当你兴冲冲地在新环境部署好Huggingface模型&#xff0c;准备大展拳脚时&#xff0c;突然蹦出OSError: We couldnt connect to https://hf-mirror.co…...

稚晖君亲自面试!智元机器人(Agibot)大模型技术面经全记录(含Transformer高频考点)

智元机器人(Agibot)大模型技术面试深度解析&#xff1a;Transformer核心考点与实战应答策略 当具身智能遇上大模型技术&#xff0c;一场关于未来机器人革命的对话正在顶尖科技公司的面试室里悄然展开。作为行业新锐的智元机器人(Agibot)&#xff0c;其技术面试不仅考察候选人的…...

Rock3A开发板实战:OpenBMC移植全记录(附避坑指南)

Rock3A开发板OpenBMC移植实战&#xff1a;从硬件适配到性能调优 当RK3568处理器遇上OpenBMC&#xff0c;会碰撞出怎样的火花&#xff1f;作为瑞芯微旗下性能与功耗平衡的明星芯片&#xff0c;RK3568在边缘计算领域已证明其价值。而将其应用于BMC&#xff08;基板管理控制器&…...

从单变量到多变量:ODE与PDE的核心差异与应用场景解析

1. 从自变量数量看本质差异 第一次接触微分方程时&#xff0c;我也曾被ODE和PDE搞得晕头转向。直到有天导师用了个特别形象的比喻&#xff1a;ODE就像观察单车道上的车流&#xff0c;而PDE则是分析整个立交桥的交通网络。这个比方一下子点醒了我——核心差异就在于自变量数量这…...

3分钟解决机械键盘连击问题:终极开源修复工具完整指南

3分钟解决机械键盘连击问题&#xff1a;终极开源修复工具完整指南 【免费下载链接】KeyboardChatterBlocker A handy quick tool for blocking mechanical keyboard chatter. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyboardChatterBlocker 你是否曾经遇到过这样…...

软电话通话30秒自动挂断?一文讲透FreeSWITCH通话超时问题

当你满怀期待地搭建好FreeSWITCH&#xff0c;用两个软电话成功呼叫&#xff0c;却发现通话总是在30秒左右莫名其妙地中断——别急&#xff0c;这是SIP新手最常遇到的“经典Bug”。本文将为你抽丝剥茧&#xff0c;彻底解决这个问题&#xff0c;并附带其他可能引发通话异常中断的…...