一個將datagrid控件內容輸出到excel文件的demo.
生成excel文件#region 生成excel文件
public void settoexcel()
{
// response.clear();
// response.buffer= true;
// response.charset="utf-8";
if (eformsn.text=="")
{
datagrid1.visible=false;
label1.text="要匯入excel,請先輸入申請單號!";
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();
//下面這行很重要,attachment 參數表示作為附件下載,您可以改成online在線打開
//filename=fileflow.xls 指定輸出文件的名稱,注意其擴展名和指定文件類型相符,可以為:.doc .xls .txt .htm
response.appendheader("content-disposition","attachment;filename=eol_"+eformsn.text+".xls");
response.contentencoding=system.text.encoding.getencoding("utf-8");
//response.contenttype指定文件類型 可以為application/ms-excel,application/ms-word ,application/ms-txt,application/ms-html或其他瀏覽器可直接支持文檔
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);
//將目標數據綁定到輸入流輸出
//this 表示輸出本頁,你也可以綁定datagrid,或其他支持obj.rendercontrol()屬性的控件
dl.rendercontrol(ohtmltextwriter);
//this.databind.rendercontrol(ohtmltextwriter);
response.write(ostringwriter.tostring());
response.end();
}
}
#endregion
新闻热点
疑难解答
图片精选