我做了个crm系统 
自动生成的流水号
样式如下 200906211234221312
2009年6月21日1234工号22点12分12秒 
数据库存储一切正常,但输出到xls时 变成 科学计数的形式了  2.0Ex次方
如何解决此问题啊
我在前面加上了"'" 显示时正常了,但是一个大大的单引号 很别扭 有什么更好的办法吗? 谢谢

解决方案 »

  1.   

    这个跟excel有关吧,excel会自动识别单元格里的内容,代码里的变量类型的概念在他那里是没用的
    如果单元格里的内容以非数字字符开头,它就不会认为这是个数字了,否则就当作数字处理,而对超出一定位数的数字的默认处理就是科学计数法
      

  2.   

    所以一个可能的解决办法就是不用excel ……
    当然你也可以尝试跟微软office技术支持联系一下,这应该就是office里的一个变量,看能不能手动设置
      

  3.   


    <script language="javascript">
    function outExcel(){
        var table=document.all.tablemake;
        row=table.rows.length;
        column=table.rows(1).cells.length;
        var excelapp=new ActiveXObject("Excel.Application");
        excelapp.visible=true;
        objBook=excelapp.Workbooks.Add(); //添加新的工作簿
        var objSheet = objBook.ActiveSheet;
       objSheet.Cells.NumberFormat.Local = "@";
        for(i=1;i<row+1;i++){
            for(j=0;j<column;j++){
              objSheet.Cells(i+1,j+1).value=table.rows(i-1).cells(j).innerHTML;
            }
        }
        excelapp.UserControl = true;
    }
    </script>
    多多注意这句话:objSheet.Cells.NumberFormat.Local = "@";
      

  4.   


    ?怎么会不是原来的数据?这个是Excel官方教程(当然是很老很老的教程)中明确推荐的呀。