一個(gè)將datagrid控件內(nèi)容輸出到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,請(qǐng)先輸入申請(qǐng)單號(hào)!";
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 參數(shù)表示作為附件下載,您可以改成online在線打開(kāi)
//filename=fileflow.xls 指定輸出文件的名稱(chēng),注意其擴(kuò)展名和指定文件類(lèi)型相符,可以為:.doc .xls .txt .htm
response.appendheader("content-disposition","attachment;filename=eol_"+eformsn.text+".xls");
response.contentencoding=system.text.encoding.getencoding("utf-8");
//response.contenttype指定文件類(lèi)型 可以為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);
//將目標(biāo)數(shù)據(jù)綁定到輸入流輸出
//this 表示輸出本頁(yè),你也可以綁定datagrid,或其他支持obj.rendercontrol()屬性的控件
dl.rendercontrol(ohtmltextwriter);
//this.databind.rendercontrol(ohtmltextwriter);
response.write(ostringwriter.tostring());
response.end();
}
}
#endregion
新聞熱點(diǎn)
疑難解答
圖片精選