解决HTML导出Excel表数字变成科学计数法

在做项目中,碰到如题的问题。比如要将居民的信息导出到excel中,居民的身份证号码因为长度过长(大于10位),excel会自动的将过长的数字串转换成 科学计数法。现在网上找到解决方案之一:

(在数字串前后加 " " 或‘ ‘ 或 tab等空白内容都是行不通的,excel会自动去掉这些。除非你在数字串中间加,当然这样就不是我们要的结果了)

解决方案之一:<td style="mso-number-format:‘\@‘;">100821199909091234</td>

增加了  style="mso-number-format:‘\@‘;"  样式后 可以解决 ,(以上为亲自测试过,可行)!

其他自定义单元格格式 样式

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)
mso-number-format:"\0022£\0022\#\,\#\#0\.00" £12.76
mso-number-format:"\#\,\#\#0\.00_ \;Red\-\#\,\#\#0\.00\ "
2 decimals, negative numbers in red and signed
(1.56   -1.56)

时间: 2024-11-08 19:08:04

解决HTML导出Excel表数字变成科学计数法的相关文章

java使用poi解析或处理excel的时候,如何防止数字变成科学计数法的形式和其他常见Excel中数据转换问题

当使用POI处理excel的时候,遇到了比较长的数字,虽然excel里面设置该单元格是文本类型的,但是POI的cell的类型就会变成数字类型. 而且无论数字是否小数,使用cell.getNumbericCellValue() 去获取值的时候,会得到一个double,而且当长度大一点的时候会变成科学计数法形式. 那么获取这个单元格的原始的数据,就其实是一个double怎么转换成整数的问题了. 使用DecimalFormat对这个double进行了格式话,随后使用format方法获得的String就

用apache poi读取excel数字是科学计数法的问题

昨天老大给了我一个excel文件叫我把里面的内容用短信发出去(文件里面就2个字段,手机号码和内容),然后我就写了一个方法用apache里面的poi读取,发现读取的手机号码是科学计数法,经过了解发现无论数字是否小数,使用cell.getNumbericCellValue() 去获取值的时候,会得到一个double,而且当长度大一点的时候会变成科学计数法形式.那么获取这个单元格的原始的数据,就其实是一个double怎么转换成整数的问题了. 我们就可以用DecimalFormat对这个double转换

R 连接数据库长数字被科学计数法解决方法

数据库中的订单编号 用R读取过来后就变成了这样 解决办法:更改全局变量options http://stat.ethz.ch/R-manual/R-patched/library/base/html/options.html

用POI导出excel时,较长的数字不想被自动变为科学计数法的解决方式(转)

做过很多次导出excel了.都碰到一个问题,内容里如果包含一个比较长的数字,比如订单号“2546541656596”,excel会自动变成科学计数法... 弄过好几次都没有解决,最近又要导出excel了,下决心一定要找到解决办法 自己在excel里测试过,较长的数字,都会自动变成科学计数法,除非我们把单元格格式设置成“文本型” 哈哈,似乎找到了思路:用poi先把单元格设置成“文本型”就可以了把. 从文档里找到了这个方法HSSFCell.setCellType(int type),怎么看这个方法都

poi导出excel字符串变科学计数法问题

超过11位,excel会自动变成科学计数法,影响原始数据 解决原理: 将excel列设置成文本格式 解决方法: // 创建工作簿 HSSFWorkbook wb = new HSSFWorkbook();  // 创建样式 HSSFCellStyle cellStyle = wb.createCellStyle();  // 创建一个DataFormat对象  HSSFDataFormat format = wb.createDataFormat();  // @就是指文本型 cellStyle

JavaScript中科学计数法转化为数值字符串形式

原文地址:https://www.css88.com/archives/9318(受益匪浅) JavaScript 中经常会碰到数值计算问题,偶尔会在不经意间报一个不是bug的bug.今天来说说一个特殊的例子.我以0.0011BTC 价格买入 0.0002CZR 计算出了的金额是 0.00000022BTC,而 JavaScript 计算出来的金额是 2.2e-7 .值是对的,只是用了科学计数法,也是数值类型.但是问题来了,一般用户用户看不懂 2.2e-7,那么就把它转换成 0.00000022

导出csv文件数字会自动变科学计数法的解决方法

其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0.解决这个问题:只要把数字字段后面加上显示上看不见的字符即可,字符串前面或者结尾加上制表符"\t".php 程序可以这样判断,注意一定是"\t",不是'\t'.

解决从Excel导入数据库,导入到DataTable时数据类型发生变化的问题(如数字类型变成科学计数法,百分数变成小数)

做项目的时候,C#读取Excel数据到DataTable或者DataSet,设断点查看DataTable,发现Excel的显示为较长位数数字的字段如0.000012在DataTable中显示为科学计数法1.2E-05,而百分数如143%在DataTable中显示为1.43.可是我想Excel中显示的是什么数据,读取到DataTable或者DataSet后与Excel中完全一致,解决办法如下: 1)打开要导入的EXCEL,把所有数据全选中(Ctrl+A)----复制(Ctrl+C): 2)新建一个

php导出excel长数字串显示为科学计数方法与最终解决方法

1.设置单元格为文本 $objPHPExcel = new PHPExcel(); $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet()->setTitle('Simple');//设置A3单元格为文本 $objPHPExcel->getActiveSheet()->getStyle('A3')->getNumberFormat()->setFormatCode(PHPExcel_