In fact, it is easy to use ASP. NET to output documents of the Word, Excel, txt, htm, and other types of specified content. It can be completed in three steps.
1. Define document type and character encoding
Response. Clear ();
Response. Buffer = true;
Response. charset = "UTF-8 ";
// The following line is very important. The attachment parameter indicates downloading as an attachment. You can change it to online.
// Filename=fileflow.xls specifies the name of the output file. Note that the extension is consistent with the specified file type. It can be:. Doc |. xls |. txt |. htm
Response. appendheader ("content-disposition", "attachment?filename=fileflow.xls ");
Response. contentencoding = system. Text. encoding. getencoding ("UTF-8 ");
// Response. contenttype: the specified file type can be application/MS-Excel | application/MS-word | application/MS-TXT | application/MS-HTML | or can be directly supported by other browsers document
Response. contenttype = "application/MS-excel ";
This. enableviewstate = false;
2. Define an input stream
System. Io. stringwriter ostringwriter = new system. Io. stringwriter ();
System. Web. UI. htmltextwriter ohtmltextwriter = new system. Web. UI. htmltextwriter (ostringwriter );
3. Bind the target data to the input stream output
This. rendercontrol (ohtmltextwriter );
// This indicates that the current page is output. You can also bind the DataGrid or other controls that support the obj. rendercontrol () attribute.
response. Write (ostringwriter. tostring ();
response. End ();