乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > js导出excel 怎么防止数字变为科学计数法

js导出excel 怎么防止数字变为科学计数法

作者:乔山办公网日期:

返回目录:excel表格制作


有的时候,系统需要从Excel导入数据,可是数据有时会自动转成科学计数法,7a64e58685e5aeb9365下面使用Java解决。
import java.text.*;
public class TestNum{
public static void main(String[] args){
TestNum is = new TestNum();
is.test();
}

public void test(){
double num = 1.11111111111111E+27;
System.out.println("num= "+num);

NumberFormat formatter = NumberFormat.getNumberInstance();
//设置小数位数,这里我不需要,所以设置为0
formatter.setMaximumFractionDigits(0);
String str = formatter.format(num);

System.out.println("str= "+str);

//通过分隔符","分隔
String[] str2 = str.split(",");
StringBuffer buffer = new StringBuffer();
for(int i=0;i<str2.length;i++){
buffer.append(str2[i]);
}
String result = buffer.toString();
System.out.println("result= "+result);
}
}
//文件输入样式
num= 1.11111111111111E27
str= 1,111,111,111,111,110,000,000,000,000
result= 1111111111111110000000000000
1.11111111111111E27
-------------------------------------------------------
上面用的是一般的方法,如果确定输入类型,比如你以double输入,可以采用相对的子类,
NumberFormat df = new DecimalFormat("#0");
String str3 = df.format(num);
就是也是一种解决办法。

js 中导出excel 较长数字串会变成科学计数法在做项目中,碰到如题的问题。比如要将居民的信息导出到excel中,居民的身份证号码因为长度过长(大于10位),excel会自动的将过长的数字串转换成 科学计数法。现在网上找到解决方案之一:(在数字串前后加 " " 或' ' 或 tab等空白内容都是行不通的,excel会自动去掉这些。除非你在数字串中间加,当然这样就不是我们要的结果了)解决方案之一:<td style="mso-number-format:'\@';">100821199909091234</td>增加了 style="mso-number-format:'\@';" 样式后 可以解决 ,
我家是卖港货的所以有太多条形码需要入库记录在数据导入导出是都用到csv格式的,如惠氏奶粉条码300086956162在Microsoft Office Excel 软件中显示为3.00087E+11要保存为csv格式文件的方法:先选中单元格或整列再点数据选分列这时弹出文本分列向导窗口 选分隔符号点下一步,把所有的勾选去掉点下一步,选格式 -《文本》点击完成回到表格就会看到所有数字都显示完整了而且数字的单元格的左上角有显示绿色小角的哦,最后点保存或点另存为其他名称的csv格式文件就OK了
注:
(保存时弹出的 可能含有与CSV(逗号分隔)不兼容的功能。是否保持工作簿的这种格式?)
直接点《是》就行

两种方法,一种是你把数据处理成'110030115004052,然后excel打开。
再选中数据分列,分列最后一步注意要给每列数据都指定文本
第二种方法是数据不处理,菜单里数据》自文本,导入csv文件,也是分列最后一步给每列设置文本

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网