现在从数据库中导出一个表到Excel中,其中一列是卡号,卡号前几位都为0,例如00012541,现在让它导出到Excel中,前面的0会消失,变为12541,请问,有没有方法不去掉0的,望高手指教!我导出Excel的程序为下:
Response.Clear(); 
Response.Buffer= true;  
            //替换编码方式
            Response.Charset = "GB2312";
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8) + ".xls"); 
            //替换编码方式
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 
this.EnableViewState = false;    
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad); 
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

解决方案 »

  1.   

    格式问题!string style = "<style>.text{mso-number-format:\@;}</script>";Response.Writeln(style);
      

  2.   

    在简易的Jsp导出html版本的execl中所有的文件导出默认都是文本文件,这给业务人员带来了一些不必要的操作,建议使用下面的方法,可以调整导出的格式类型.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)  用法举例:当我们用<%@page contentType="application/vnd.ms-excel; charset=UTF-8"%>的方法导出jsp文件为excel时,如果导出的数据中有数字以0开头,则该0会被省略,为了保留这个处于首位的0,可以在表格的style中加入:style='mso-number-format:"\@";'这样的话,导出的该表格中首位为0的数字就会将该0保留啦!
      

  3.   

    您说这个string style = "<style>.text{mso-number-format:\@;}</script>";
    Response.Writeln(style);加到哪个地方?我是新手~还望指教,而且Response里面也没Writeln这个方法啊
      

  4.   

    Excel 自己本身就是用前面加'符号 来定义字符的吧。
    你能作的只是看怎么加方便罢了,毕竟你最终要存成EXCEL
      

  5.   

    加'方法就不错
    加上HDR=Yes;IMEX=1; 
    设置excel单元格格式 
    NumberFormatLocal = "@"