处理导出到EXCEL时,身份证号码的问题:mso-number-format
2011-04-29 15:44
736 查看
应用中经常会遇到要从系统或数据库中导出数据平面文件,一般是导出到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)
但是使用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)
相关文章推荐
- 处理导出到EXCEL时,身份证号码的问题:mso-number-format
- Html Table用JS导出excel格式问题 导出EXCEL后单元格里的000412341234会变成412341234 7-14 会变成 2018-7-14(7月14) 自定义格式 web利用table表格生成excel格式问题 js导出excel增加表头、mso-number-format定义数据格式 数字输出格式转换 mso-number-format:"\@"
- js导出excel增加表头、mso-number-format定义数据格式
- [转发]导出Excel 格式 mso-number-format
- 关于从GridView表中导出数据到Excel表中,身份证或者长度过长的数据在Excel中无法正常显示的问题
- Styling Excel cells with mso-number-format
- Python处理unicode编码的txt文件(Python中文处理)——解决to_excel()和to_csv()导出文件内容为空的问题
- GridView导出数据到Excel(形如身份证等数据的处理)
- 【HR必看】Excel中对身份证号码的处理技巧
- c#操作excel全攻略(导入导出) excel表增删改 以及常见问题的处理
- 关于PHPExcel导出Excel时身份证,数字会导出为科学计数的处理方法
- 解决:导出excel身份证号码显示为科学计数法
- asp.net 导出Excel时 身份证号码的正确导出
- Asp.net导出excel时长数字被科学计数法的解决方案。(身份证长数字作为字符处理)
- 解决导出Excel时身份证的问题
- POI Jar包导出excel问题:maximum number of fonts was exceeded
- Gridview数据导出excel时身份证号码为科学计数法的解决方法
- 关于PHPExcel导出Excel时身份证,数字会导出为科学计数的处理方法
- 关于从GridView表中导出数据到Excel表中,身份证或者长度过长的数据在Excel中无法正常显示的问题
- vnd.ms-excel.numberformat 导出Ecxel 格式