In fact, it is easy to use ASP. NET output to specify the content of Word, EXCEL, TXT, htm, and other types of documents. Mainly divided into three steps to complete.
I. Define document type, character encoding
|
Response.Clear (); Response.buffer= true; Response.charset= "Utf-8"; The following line is important, attachment parameter means download as an attachment, you can change it to online open Filename=fileflow.xls Specifies the name of the output file, noting that its extension matches the specified file type, which can be:. doc. xls. txt. htm Response.appendheader ("Content-disposition", "Attachment;filename=fileflow.xls"); Response.contentencoding=system.text.encoding.getencoding ("Utf-8"); RESPONSE.CONTENTTYPE Specifies that the file type can be Application/ms-excel Application/ms-word application/ms-txt application/ms-html or other browsers can support documents directly Response.ContentType = "Application/ms-excel"; This. EnableViewState = false; |
Second, define an input stream
|
System.IO.StringWriter ostringwriter = new System.IO.StringWriter (); System.Web.UI.HtmlTextWriter ohtmltextwriter = new System.Web.UI.HtmlTextWriter (ostringwriter); |
Third, bind the target data to the input stream output
|
This. RenderControl (Ohtmltextwriter); This means that the output page, you can also bind the DataGrid, or other support obj. RenderControl () property of the control Response.Write (Ostringwriter.tostring ()); Response.End (); |
Summary: This routine is tested under the Microsoft Visual Studio. NET 2003 Platform for C # and VB, and when VB is used, the This keyword is changed to me.