应用中经常会遇到要从系统或数据库中导出数据平面文件,一般是导出到txt,csv或excel。txt和csv一般用在系统间的数据交换,而 excel一般有较好的显示效果,可以按照一定的模板导出,导出就不用再排版了,使用简单,如果是使用做报表一般都导出excel文件。
但是使用com组件导出到Excel数据很慢,有另一种生成excel文件的方式就是通过html和css快速导出数据同时并能设置样式,使用这种方式有两个优点:1是速度快,2是不需安装excel支持。

  当使用这种方法导出文件时,有时会遇到一个问题,就是导出的Excel经常会把我们的数据自动识别为其他格式,例如只有纯数字的字段在导出到 Excel后会被自动识别为数字格式,而一旦数字超过11位,Excel便会将其以科学计数法的形式来显示,比如身份证号码,带区号的电话号码等。

  解决方法有多种,这里只介绍一种本人认为最好的一种,即使用CSS给出现问题的表格字段(如<TD>)应用mso-number- format属性,用这个属性指定某单元格的数据格式,避免Excel自动转换格式。mso-number-format是Office提供的格式, 如果您将office文档转成HTML就会有这样的标志。MSO表示Microsoft Office。

示例:

<style type="text/css">
.format{
mso-number-format:'/@';
}
</style>

<td Class="format">123456789012345</td>

  在css中加入:mso-number-format定义数据格式,格式可以在excel中查看自定义格式,具体可以参考一下:
mso-number-format:"0" NO Decimals 
mso-number-format:"0/.000" 3 Decimals 
mso-number-format:"/#/,/#/#0/.000" Comma with 3 dec 
mso-number-format:"mm//dd//yy" Date7 
mso-number-format:"mmmm/ d/,/ yyyy" Date9 
mso-number-format:"m//d//yy/ h/:mm/ AM//PM" D -T AMPM 
mso-number-format:"Short Date" 01/03/1998 
mso-number-format:"Medium Date" 01-mar-98 
mso-number-format:"d/-mmm/-yyyy" 01-mar-1998 
mso-number-format:"Short Time" 5:16 
mso-number-format:"Medium Time" 5:16 am 
mso-number-format:"Long Time" 5:16:21:00 
mso-number-format:"Percent" Percent - two decimals 
mso-number-format:"0%" Percent - no decimals 
mso-number-format:"0/.E+00" Scientific Notation 
mso-number-format:"/@" Text 
mso-number-format:"/#/ ???//???" Fractions - up to 3 digits (312/943) 

转载于:https://www.cnblogs.com/JPAORM/archive/2011/04/29/2509807.html

处理导出到EXCEL时,身份证号码的问题:mso-number-format相关推荐

  1. 关于PHPExcel导出Excel时身份证,数字会导出为科学计数的处理方法

    原文:关于PHPExcel导出Excel时身份证,数字会导出为科学计数的处理方法 上次在开发一个项目时,用到PHPExcel导出数据,其中有导出身份证等长串数字时导出的Excel中显示为科学计数方式. ...

  2. pandas和excel转换身份证号码时的数据有效性问题

    在利用Pandas处理和生成Excel中的身份证号码.银行卡号等特殊数据类型,易出现如下异常: 1)科学记数法的表示 2)末尾4位数会莫名变为0 3)pandas和excel中数据的不一致(末尾的值会 ...

  3. Navicat for MySQL 导出 Excel 时身份证号惨遭科学计数

    Navicat for MySQL 导出 Excel 时身份证号惨遭科学计数 身份证号前加单引号 参考资料 身份证号前加单引号 身份证号直接导出会丢失精度,只有前15位,后三位直接变成 0 了. 依据 ...

  4. excel从身份证号码中获取邮编信息?

    今天跟大家分享一下excel从身份证号码中获取邮编信息? 1.打开excel身份证号码文件,现在要求我们快速根据身份证号码提取邮编信息. 2.首先我们选中身份证号码单元格,点击[DIY工具箱]选项卡 ...

  5. excel 科学计数法转换成文本完整显示_表格技巧—Excel里身份证号码显示不全的多种解决办法...

    运用Excel表格可以快速统计和汇总数据,那么当在表格当中输入身份证号码时,表格通常显示不完全,这是为什么呢,今天小编就来给大家详细介绍当身份证号码显示不全时的多种解决办法,一起来学习一下吧. 首先, ...

  6. excel表格数字显示不全_表格技巧—Excel里身份证号码显示不全的多种解决办法...

    运用Excel表格可以快速统计和汇总数据,那么当在表格当中输入身份证号码时,表格通常显示不完全,这是为什么呢,今天小编就来给大家详细介绍当身份证号码显示不全时的多种解决办法,一起来学习一下吧. 首先, ...

  7. 用EXCEL提取身份证号码中的生日

    自动录入出生日期       (1)函数分解 CONCATENATE函数将几个文本字符串合并为一个文本字符串. 语法:CONCATENATE(text1,text2,...) Text1,text2, ...

  8. Excel中身份证号码验证,那些不得不说的事

    点赞再看,养成习惯:流水不腐,户枢不蠹. 微信搜索[亦心Excel]关注这个不一样的自媒体人. 本文 GitHub https://github.com/hugogoos/Excel 已收录,包含Ex ...

  9. EXCEL校验身份证号码和银行卡号

    目录 身份证相关 提取出生年月 提取性别信息 身份证号码校验 银行卡号码相关 最近有一项任务,要输入N多人员信息,身份证号码,性别,出生年月,银行卡号码等等.身份证号码上已经包含了性别和出生年月还要输 ...

最新文章

  1. 使用 IDEA 解决 Java8 的数据流问题,用过的都说好!!!
  2. Pgcli—自动完成和语法高亮的Postgres命令行工具
  3. 让CNN有了平移不变性,同时提升ImageNet成绩:Adobe开源新方法,登上ICML
  4. Win64 驱动内核编程-26.强制结束进程
  5. 计算机网络第4版潘爱民_学术活动 钱江会计实务精英讲坛预告(第84期)| 何继昌 : 战略视角下之财务分析应用实践 兼选股案例分享...
  6. AV1为何有信心打败H.265?
  7. 图解Hadoop hdfs读数据的流程
  8. arraylist从大到小排序_程序猿面试宝典:你该知道的数组排序算法
  9. Promise学习笔记
  10. Node.js 应用故障排查手册 —— 冗余配置传递引发的内存溢出
  11. 2017.9.29 谁能赢呢? 思考记录
  12. JAVA 他人博客收藏 (To be continue)
  13. android4.0教程,图文教程现身,在Win7等系统里跑起Android4.0
  14. CSS代码实现背景透明文字不透明
  15. spark 集群搭建 详细步骤
  16. Python Matplotlib画图
  17. crontab 误删除恢复
  18. 将一个自然数拆分为N个自然数
  19. 计算机微程序流程图,基于微程序控制器的《计算机系统综合设计》课程设计指导书.doc...
  20. 如何在office word or ppt 中插入Latex公式

热门文章

  1. 读书日记- 堆排序算法
  2. 互动中国分享: 15例HTML5酷站欣赏
  3. C#生成图形验证码 (转)
  4. 【重识 HTML + CSS】网页基础知识、基本 HTML 标签
  5. 【Python笔记】网络爬虫——常用框架介绍以及 Scrapy 框架使用
  6. 设计模式再学习之单例模式
  7. 那年学过的Java笔记三核心类库一
  8. Oracle使用sys用户exp备份数据
  9. 一将无能,累死三军!数据团队有“会说话”的好领导,有多重要?
  10. 永擎服务器主板稳定性,主板看不停 Computex2015华擎展台一览