欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

将datagrid控件内容输出到excel文件

程序员文章站 2023-08-17 12:03:30
一个将datagrid控件内容输出到excel文件的demo. 生成excel文件复制代码 代码如下:public void settoexcel() { // respo...

一个将datagrid控件内容输出到excel文件的demo.
生成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();
}
}