日期:2014-05-18  浏览次数:20523 次

ASP.net导出excel,控制EXCEL格式问题
用ASP.net通过RESPONSE.Write导出EXCEL,但字符型数据如04导到excel中就变为4了,请问如何将导出的数据在excel中控制为文本型,谢谢,急!!!请帮助一下。

代码如下:
    '定义文档类型、字符编码
                '********************************************************************
                Response.Clear()   'Clear方法删除所有缓存中的HTML输出
                Response.Buffer   =   True   '服务器将不会向客户端发送任何信息
                Response.Charset   =   "utf-8 "

                '下面这行很重要,   attachment   参数表示作为附件下载,您可以改成   online在线打开  
                'filename=FileFlow.xls   指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc/.xls   /.txt/.htm    
                Response.AppendHeader( "Content-Disposition ",   "attachment;filename=FileFlow.xls ")

                Response.ContentEncoding   =   System.Text.Encoding.GetEncoding( "utf-8 ")
                'Response.ContentEncoding   =   System.Text.Encoding.GetEncoding( "GB2312 ")   '设置输出流为简体中文
                'Response.ContentType指定文件类型   可以为application/ms-excel     application/ms-word   application/ms-txt   application/ms-html   或其他浏览器可直接支持文档   
                Response.ContentType   =   "application/ms-excel "   '设置输出文件类型为excel文件。
                Me.EnableViewState   =   False
                '********************************************************************

                '定义一个输入流()
                '********************************************************************
                Dim   myCItrad   As   System.Globalization.CultureInfo   =   New   System.Globalization.CultureInfo( "ZH-CN ",   True)
                Dim   oStringWriter   As   System.IO.StringWriter   =   New   System.IO.StringWriter(myCItrad)

                Dim   oHtmlTextWriter   As   System.Web.UI.HtmlTextWriter   =   New   System.Web.UI.HtmlTextWriter(oStringWriter)
                '********************************************************************

                '将目标数据绑定到输入流输出
                '********************************************************************
                Me.DataGrid1.RenderControl(oHtmlTextWriter)
                'me   表示输出本页,你也可以绑定datagrid,或其他支持obj.RenderControl()属性的控件    

                Response.Write(oStringWriter.ToString())