web导出excel数据格式化 原文地址:http://www.cnblogs.com/myaspnet/archive/2011/05/06/2038490.html   当我们把web页面上的数据导成excel形式时,有时候我们的数据需要以特定的格式呈现出来,这时候我们就需要给cell添加一些样式规格信息. 首先,我们了解一下excel从web页面上导出的原理.当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所以把mime类型设为:application…
if (e.Row.RowType == DataControlRowType.DataRow) { string id = this.GridView1.DataKeys[e.Row.RowIndex]["id"].ToString(); if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate) { ((LinkButton)e.Row.Ce…
在使用 maatwebsite/excel 包导出Excel的时候,有的单元格里会存放手机号等一大串的数字,这一串数字会被Excel软件处理为科学计数法,在后续处理数据的时候会产生不小的麻烦,一个个去调会很麻烦,有幸在度娘上搜到了一个方法,奈何原网站打不开了,所以在这里记录一下这个问题的解决办法. 使用maatwebsite/excel的教程可以参考这篇文章 Laravel 使用 maatwebsite/Excel 3.1 导入导出 Excel 言归正传,首先找到 vendor/maatwebs…
导出csv文件数字会自动变科学计数法的解决方法   其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0.解决这个问题:只要把数字字段后面加上显示上看不见的字符即可,字符串前面或者结尾加上制表符"\t".php 程序可以这样判断,注意一定是"\t",不是'\t'.…
Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0. Excel打开csv文件时,只要字段值都是数字,它就认为该字段类型是数值.但我们存放在数据库中的纯数字char有可能会超过15位,这样导出csv文件后,用excel打开看到的字段值就不对了. 网上的解决方法 1.将单元格格式设为文本,但行不通,还是会以科学计数法显示 2.将单元格格式设为特殊,类型邮政编码,这样不会以科学计数法显示,但是数字超过15…
从这儿抄过来的: http://zhejiangyinghui.iteye.com/blog/1149526 最近写了一个生成csv的程序,生成的csv其中有一列数字长度为13位,csv中查看没有问题,但是用excel打开数字就会变成科学计数法 比如,012345678,写入到 csv文件后.用 excel 软件打开看,显示12345678. 解决办法:    1.在生成csv的时候,在数字的前面或后面加上"\t"制表符,再用excel打开问题解决!如 “1234567890 ” 2.…
其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0.解决这个问题:只要把数字字段后面加上显示上看不见的字符即可,字符串前面或者结尾加上制表符"\t".php 程序可以这样判断,注意一定是"\t",不是'\t'.…
PL/SQL查询时,如果Number(17)以上的大数,会显示为科学计数法 解决方法: TOOLS->PREFERENCES->WINDOW TYPE->SQL WINDOW下选中Number fields to_char即可.…
保存在csv中的 013812345678,前面的0会被去掉,后面是科学计数法显示.保存成 col1,="013812345678" 即可. 注意,分隔符逗号后面直接接“=”等号.不能有空格. 参考csv文档: http://www.creativyst.com/Doc/Articles/CSV/CSV01.htm…
做过很多次导出excel了.都碰到一个问题,内容里如果包含一个比较长的数字,比如订单号“2546541656596”,excel会自动变成科学计数法... 弄过好几次都没有解决,最近又要导出excel了,下决心一定要找到解决办法 自己在excel里测试过,较长的数字,都会自动变成科学计数法,除非我们把单元格格式设置成“文本型” 哈哈,似乎找到了思路:用poi先把单元格设置成“文本型”就可以了把. 从文档里找到了这个方法HSSFCell.setCellType(int type),怎么看这个方法都…
上次在开发一个项目时,用到PHPExcel导出数据,其中有导出身份证等长串数字时导出的Excel中显示为科学计数方式. 这种显示很不人性化而且量多了修改起来也很麻烦. 这是因为Excel处理数字里默认数字太长会转化为科学计数法,处理起来很简单,我们在导出时把数字转为字符串,Excel就不会识别为数字了,也就不会显示为科学计数方式. 我的处理方式是在变量后面加个空格,简单方便. $usercode .= ' '; $money .= ' ';…
1.原因分析      用程序导出的csv文件,当字段中有比较长的数字字段存在时,在用excel软件查看csv文件时就会变成科学技术法的表现形式.     其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术法表示,还会只保留高15位,其他位都变0. 2.解决方法       查询sql可以采用在字符串结尾加上制表符"\t" SELECT t.NSRMC AS '企业名称', CONC…
- js 中导出excel 较长数字串会变成科学计数法 在做项目中,碰到如题的问题.比如要将居民的信息导出到excel中,居民的身份证号码因为长度过长(大于10位),excel会自动的将过长的数字串转换成 科学计数法.现在网上找到解决方案之一: (在数字串前后加 " " 或' ' 或 tab等空白内容都是行不通的,excel会自动去掉这些.除非你在数字串中间加,当然这样就不是我们要的结果了) 解决方案之一:<td style="mso-number-format:'\@…
当使用POI处理excel的时候,遇到了比较长的数字,虽然excel里面设置该单元格是文本类型的,但是POI的cell的类型就会变成数字类型. 而且无论数字是否小数,使用cell.getNumbericCellValue() 去获取值的时候,会得到一个double,而且当长度大一点的时候会变成科学计数法形式. 那么获取这个单元格的原始的数据,就其实是一个double怎么转换成整数的问题了. 使用DecimalFormat对这个double进行了格式话,随后使用format方法获得的String就…
将数据导出excel文件变成科学计数法问题:     分析: 用程序导出的csv文件,当字段中有比较长的数字字段存在时,在用excel软件查看csv文件时就会变成科学技术法的表现形式.    其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术法表示,还会只保留高15位,其他位都变0. 所以各位老铁 要导出的订单号最多15位 否则后面的就 四舍五入 变为0了; 解决方式:(只要把数字字段后面加上…
作者:iamlaosong 把一文本文档拷贝到EXCEL中时,当中一列数字所有变成科学计数法,这些数事实上是条码号,不需进行运算,怎样能够取消科学计算法,将数字显示成原来的样子呢?一般方法例如以下: 1.你先将单元格格式设置成文本格式 2.转成文本后,你将那单元格双击一下 3.或者在数字前面加个单引號:'(注意是英文输入法下的) 只是对于数据量比較大的场合,这样一个一个的处理显然效率太低,採用分列的方法能够非常快的处理全部单元格. 1.选中须要处理的单元格或列,点击分列button或菜单: 2.…
用gson解析json串的时候,经常会自动把我想用string表示的内容转换成double,并且还是科学计数法,这一点也不科学,写个方法,格式化一下. public static String parseString(Object str){ String returnValue = ""; try { returnValue = new BigDecimal(String.valueOf(str)).toString(); if(StringUtils.endsWith(return…
C. Exponential notation 题目连接: http://www.codeforces.com/contest/691/problem/C Description You are given a positive decimal number x. Your task is to convert it to the "simple exponential notation". Let x = a·10b, where 1 ≤ a < 10, then in gen…
在网上查了很多资料知道解决办法大概有两个:一是在身份证字段前加个英文单引号,二是设置Excel的格式为文本格式. 我试用过第一种确实可以显示,但是有个“'”号在那里感觉确实不是很好,虽然听说不影响,但是需要用户点击那个单元格那个单引号才消失,并且在该格的左上角中显示绿色的三角形. 客户要求我继续改进. 于是考虑第二种办法,发现网上的资料是有一些,但是都是关于Delphi,asp.net,asp等设置格式的方法. 而关于php的也有,但是大多都是用phpExcel导出的方法或者spreadshee…
链接 https://blog.csdn.net/liuxin_0725/article/details/81514961 问题 id int型 数字过长,json_decode的时候已经转成科学计数了 通过格式化后 数字已经变了   $obj='{"order_id":20180110000000001}';   $obj=json_decode($obj,TRUE);   foreach ($obj as $key=>$val){   $obj[$key]=number_fo…
sbHtml.AppendFormat("<td> {0}</td>", data[i].IDcard.ToString()); sbHtml.AppendFormat("<td style='mso-number-format:\"@\"';>{0}</td>", data[i].IDcard.ToString()); public byte[] ExportToExcel(List<Ent…
方法一:前面加空格 $objActSheet->setCellValue('A1', ' '.'330602198804224688'); 方法二: $objActSheet->setCellValueExplicit('A1', '330602198804224688', PHPExcel_Cell_DataType::TYPE_STRING); 方法三: $objActSheet->setCellValue('A1', '330602198804224688'); $objActSh…
# 指定字段以string 方式读取 df = pd.read_excel("./test.xlsx", converters={"id": str})…
对于有大数字的CSV文件,应使用导入,而不是打开.这里以Excel2010为例,其它版本也可以参照: 打开Excel,此时Excel内为空白文档 点击工具栏中的[数据]→[自文本] 在“导入文本文件”窗口中,选择你要打开的CSV文件 在弹出“文本导入向导 - 第1步”点击下一步 “文本导入向导 - 第2步”中,分隔符号根据CSV中实际的分隔符号来选定,然后下一步 PS:一般来说CSV文件是逗号分隔,这里就只选逗号就好了 在“文本导入向导 - 第3步”的列数据格式中选择“文本”,如果有多列,则在下…
在从excel往sql server导入数据,电话.编号等数字呈现float类型,然后向b表中insert后(phone为nvarchar)出现科学计数法,解决方法:需将float等数据类型转为标准的decimal类型后转nvarchar即可.一直觉得float和double类型在sql server和其他语言等日常编程中没有用途,而且容易造成麻烦(计算时出现近似值)等,建议使用decimal(18,2). convert(nvarchar(50),convert(decimal,phone))…
在项目中一般都需要将报表数据导出到EXCEL中,但经常出现导出长串数据(如身份证)到EXCEL中后显示为科学计数法的格式,或者报表中显示为001的数据导出到Excel后成了1的格式. 下面简单介绍一下以上问题的解决方法: 1.首先,了解一下excel从web页面上导出的原理.当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读 取它,所以把mime类型设为:application/vnd.ms-excel,当excel读取文件时会以每个cell的格式呈现数据,如果 c…
需要引用:using System.Data.OleDb; /// <summary> /// 获取Excel数据,包含所有sheet /// </summary> /// <param name="fullPath"></param> /// <returns></returns> public DataSet GetExcelTables(string fullPath) { DataSet ds = new…
如何解决上图长数字自动转换处理? CSV文件中长数字自动变成科学计数法处理.用程序导出的csv文件,当字段中有比较长的数字字段存在时,在用excel软件查看csv文件时就会变成科学计数法的表现形式. 其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法;如果数字大于15位,它不仅用于科学技术法表示,还会只保留高15位,其他位都变0. 解决方式: 只要把数字字段后面加上显示上看不见的字符即可,字符串结尾加上制表符"\t" 示例…
需要注意的是一般的科学表达式是1.8E12 1.8E-12 而在Excel中的科学表达式是1.8E+12 1.8E-12 我写的科学计数法的正则表达式是(-?\d+\.?\d*)[Ee]{1}[\+-]?[0-9]* 导入EXCEL数据时将科学计数法解析成数字,Java代码: import java.text.DecimalFormat; import java.util.regex.Pattern; public class Test { static Pattern pattern = Pa…