A demo that outputs the content of the datagrid control to an excel file.
Generate an EXCEL file
Copy codeThe Code is as follows:
Public void setToExcel ()
{
// Response. Clear ();
// Response. Buffer = true;
// Response. Charset = "UTF-8 ";
If (eformsn. Text = "")
{
Maid = false;
Label1.Text = "to import data to EXCEL, enter the application form number first! ";
Label1.Visible = true;
}
Else
{
Dl. DataSource = DB ("query", "select * from msi_eol_list_line where eformsn =" + eformsn. Text + "order by eformsn"). Tables [0]. DefaultView;
Dl. DataBind ();
// 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 = EOL _" + eformsn. Text + ". xls ");
Response. ContentEncoding = System. Text. Encoding. GetEncoding ("UTF-8 ");
// Response. ContentType specifies the file type which 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 ";
Dl. EnableViewState = false;
System. IO. StringWriter oStringWriter = new System. IO. StringWriter ();
System. Web. UI. HtmlTextWriter oHtmlTextWriter = new System. Web. UI. HtmlTextWriter (oStringWriter );
// Bind the target data to the input stream output
// This indicates that the current page is output. You can also bind the datagrid or other controls that support the obj. RenderControl () attribute.
Dl. RenderControl (oHtmlTextWriter );
// This. DataBind. RenderControl (oHtmlTextWriter );
Response. Write (oStringWriter. ToString ());
Response. End ();
}
}