Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 398|回复: 0

[默认分类] mysql导出长数字到excel避免显示为科学记数法 解决方法

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2020-8-1 12:01:49 | 显示全部楼层 |阅读模式
    经常遇到MYSQL导出长数字或纯数字字符串(如身份证、卡券号、条码、流水号等)到csv或excel文件,用excel打开会显示为科学记数法,甚至后几位转为0。这是由Excel的特性决定的:Excel显示11位以上的数字时,会自动转化为科学计数法,如果长度大于15位,15位以后数字还会转成0。
    网上搜到的解决办法是在该长数字前增加tab字符:
    即:
    1. CONCAT("\t",str)
    复制代码
    其中 \t 为制表符(即键盘上的Tab键)的转义符
    实践时发现按此方法导出的文件打开后虽然显示为文本字符,但长度多了1,在字符前多了一个不可见空格(制表符),删掉才是原来的字符。
    如果只是展示、打印倒无妨,但如果需要后续引用该字符串(如用VLOOKUP匹配),因为前面多了一个不可见的空格,长度也多了一位,则可能会出错。
    后来想起excel输入长数字的可在数字前输入单引号”‘”强制转为文本,在 mysql输出时也可以试试,测试可用:
    即:
    1. CONCAT(""",str)
    复制代码
    或者
    1. CONCAT(""",str)
    复制代码
    另外注意需保存为excel文件,即xls或xlsx文件,该数字即已强转为文本格式;如保存为csv,用excel打开则显示为可见单引号+数字形式,原因尚不明。
    总结:
    1.如果只需要导出展示、打印:可使用
    1. CONCAT("\t",str)
    复制代码

    2.如果需要后续处理,引用,最好使用
    1. CONCAT(""",str)
    复制代码
    或者
    1. CONCAT(""",str)
    复制代码
    ,并导出为EXCEL文件。
      
    解决办法:在导出查询时,使用MySQL中concat函数给长数字的字段加上单引号",",再点击【导出向导】导出excel,excel打开就显示正常的长数字了,

    1. SELECT CONCAT("`",p_card_num),card_num FROM ppos_member_card_src WHERE p_card_num=002580986
    复制代码


      

    1. SELECT CONCAT("\t",p_card_num),card_num FROM ppos_member_card_src WHERE p_card_num=002580986
    复制代码


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-29 22:43 , Processed in 0.382784 second(s), 37 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表