Excel如何默认禁用科学计数法?
微软论坛版主回复“无法默认禁用此功能”,可在“设置单元格格式”-“自定义”-“类型”改为“0”,去除科学计数法显示。
该方法对于如数据库导出的订单号(纯数字),可能会造成末尾的几位数字变为0。这种情况,就不能按上面的方法修改了。
1、可以使用vs code打开导出的.csv文件,然后使用正则替换的方式,给订单号附加一个前缀的英文单引号 ' ,然后保存为excel文件。
正则匹配写法:
1. 匹配部分:,([0-9]{15})
2. 替换部分:,'$1
注意,匹配部分末尾的15,表示要匹配的数字位置,尽量跟订单号长度一致,或少几位,但不能太少,避免匹配到其他非订单号内容。
2、保存后的Excel文件还可能显示为如下状态,不会自动转换格式,隐去英文单引号 ' 。
此时还需进行一下文本替换,让Excel自动转换格式。因为Excel文本替换不支持正则(至少我现在不知道怎么做正则替换),所以需要替换多次,0-9,多达10次。
注意,其中“查找内容”和“替换为”输入框中所填内容是一样的,如下图中的 1 表示1开头的订单号。
补充:
第一步,还可以使用notepad++或 EmEditor 等操作:
给指定列添加前缀单引号 ' ,避免被Excel自动转化成科学计数法
使用notepad++,暂有两种方法:(也可以使用EmEditor)
1. 如果列值是对齐的,而且文本行数不是数千,甚至上万行,可以手工操作:
鼠标放在要添加字符的位置,按住 Alt 键,垂直向下拖动鼠标到末行,松开 Alt 键,然后按下要添的字符键,可以是多个字符
2. 如果列值不是对齐的,或者行数太多,则可使用正则替换:
勾选正则匹配,匹配式为 ,([0-9]{14}),替换式为 ,'$1,$1代表使用匹配式中第一个()里面的原内容。如果有多列为纯数字的,而且列长度可能有交叉,建议看下要匹配的列的前一列末尾——即 , 前面的字符是否可写入匹配式,这样避免匹配误差。如果列长度没有交叉,则匹配列的纯数字长度尽量做最长匹配,匹配14个字符为 {14}
更多参考网络,如
https://blog.csdn.net/lk142500/article/details/83119029
https://blog.csdn.net/ws379374000/article/details/82591171
如有更好的方法,欢迎留言指正。
Excel如何默认禁用科学计数法?的更多相关文章
- java 禁用科学计数法
禁用科学计数法 Double num = 80000000000.000001; System.out.println("默认计数法:num=" + num); NumberFor ...
- 解决HTML导出Excel表数字变成科学计数法
- js 中导出excel 较长数字串会变成科学计数法 在做项目中,碰到如题的问题.比如要将居民的信息导出到excel中,居民的身份证号码因为长度过长(大于10位),excel会自动的将过长的数字串转 ...
- 将Excel中读取的科学计数法表示的Double数据转换为对应的字符串
已在SegmentFault提问,目前没有答案,自行实现如下: private static String getRealNumOfScientificNotation(String doubleSt ...
- 数值或者电话号码被EXCEL转成了科学计数法,用XSSFCell 如何读取
public static Map<String, Integer> readXls() throws IOException { //用来获取每一个小号重复多次,被多少账号用了.来平均 ...
- Java将Excel中科学计数法解析成数字
需要注意的是一般的科学表达式是1.8E12 1.8E-12 而在Excel中的科学表达式是1.8E+12 1.8E-12 我写的科学计数法的正则表达式是(-?\d+\.?\d*)[Ee]{1}[\+- ...
- 用POI导出excel时,较长的数字不想被自动变为科学计数法的解决方式(转)
做过很多次导出excel了.都碰到一个问题,内容里如果包含一个比较长的数字,比如订单号“2546541656596”,excel会自动变成科学计数法... 弄过好几次都没有解决,最近又要导出excel ...
- Gridview数据导出excel时身份证号码为科学计数法的解决方法
if (e.Row.RowType == DataControlRowType.DataRow) { string id = this.GridView1.DataKeys[e.Row.RowInde ...
- Laravel 使用 maatwebsite/excel 时长数字出现科学计数法的解决办法
在使用 maatwebsite/excel 包导出Excel的时候,有的单元格里会存放手机号等一大串的数字,这一串数字会被Excel软件处理为科学计数法,在后续处理数据的时候会产生不小的麻烦,一个个去 ...
- Jmeter、Java当double显示的数字过长时取消科学计数法显示
今日,由于项目需要,使用Jmeter发送查询账户并不保存余额,经过交易后,进行运算后再次比对余额. 实施过程中获取了余额字段并赋值给一个double变量.变量进行运算后再与交易后的账户余额进行比对.这 ...
- java使用poi解析或处理excel的时候,如何防止数字变成科学计数法的形式和其他常见Excel中数据转换问题
当使用POI处理excel的时候,遇到了比较长的数字,虽然excel里面设置该单元格是文本类型的,但是POI的cell的类型就会变成数字类型. 而且无论数字是否小数,使用cell.getNumberi ...
随机推荐
- libnode使用addon
自己编译的一个libnode.so后,在js里调用hello.node的 addon时候会报错. Error: dlopen failed: cannot locate symbol "na ...
- 在虚拟机安装用友u8的时候出现的一些问题
几个星期前装的了,小问题不记得,但是有个问题还是记一下 在win10,sql sever2008,u8都装完后,想登录账号,但总是找不到数据源,初始化也失败(密码也不记得自己设过没),也就是登陆时会有 ...
- PVD模板
void PVD_Init(void){ EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; //--- ...
- 修改、编辑pdf
Python 操作 PDF 会用到两个库,分别是:PyPDF2 和 pdfplumber 其中 PyPDF2 可以更好的读取.写入.分割.合并PDF文件,而 pdfplumber 可以更好的读取 PD ...
- C#中DataTable新增列、删除列、更改列名、交换列位置
一.新增列 1.1.新增列 /*新增列*/ dataTable.Columns.Add("列名称", Type.GetType("数据类型")); /*比如添加 ...
- mysql问题汇总含解决方案
MySQL,插入数据提示"The table `xxx` is full" 背景:MEMORY引擎,hash索引 解决方法 1. 查看当前设置的table_size show va ...
- linux创建数据库以及数据库用户密码
登录linux服务器成功后: 登录mysql: mysql -uroot -p 输入密码:xxxx 创建数据库: create database test 创建用户及密码: create user ' ...
- AI 智能搜索 开源hanlp实现
AI智能搜索 通过网络资源可知有很多种开源方式实现智能搜索,其中hanlp在GitHub中响应居高 参考链接: https://www.hanlp.com/ Java版:https://github. ...
- PHP 阿里云短信验证码的实现
Test.php是测试你的环境是否部署完成 demo里的sendSms.php里修改 // fixme 必填: 请参阅 https://ak-console.aliyun.com/ 取得您的AK信息$ ...
- Mac怎么创建加密文件夹
对于一些使用Mac工作生活有特殊要求以及职业要求有限制的用户来说,加密自己的工作内容以及隐私是非常重要的一件事情.往往用户需要加密的内容项目很多,这个时候我们就需要一个加密文件夹来包含这些内容.那么M ...