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 other browsers can directly support documents
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 ();
// Set the column format to text format.
Excel. Range R1;
// Change the number of rows and columns to your own
R1 = yourexcel. get_range (myexcel. cells [I, n], myexcel. cells [J, N]);
R1.numberformatlocal = "@"; // set the format of line I to line J of column N to text format
Or, it is simpler to add a column when the DataGrid fills the column.
That's simple.