乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > asp.net如何把数据导出excel表-asp.net导出excel表格,asp导出excel的方法

asp.net如何把数据导出excel表-asp.net导出excel表格,asp导出excel的方法

作者:乔山办公网日期:

返回目录:excel表格制作


先将数据绑定到一个控件中,例如gridview:
放一个按钮,代码如下:
protected void ibtnExcel_Click(object sender, ImageClickEventArgs e)
{
string FileName = "标题 " + DateTime.Now + ".xls";
Response.Charset = "GB2312";
Response.ContentEncoding = Encoding.UTF8;//System.Text
//如果设置GB2312会出现乱码
Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
Response.AddHeader("content-type", "application / ms - excel");//设置输e69da5e6ba90e799bee5baa6e79fa5e98193338出文件的类型
//或Response.ContentType = FileType;
//定义一个输出流
StringWriter tw = new StringWriter();//System.IO
HtmlTextWriter hw = new HtmlTextWriter(tw);
gridview1.RenderControl(hw);//gridview绑定
Response.Write(tw.ToString());
Response.End();
}

public override void VerifyRenderingInServerForm(Control control)
{
//必须写这个;
}

  1. 主流的是使用NPOI

  2. 首先处理数据其实是一个二维数组,然后生成excel文件即可

  3. 可以参考这里:

http://www.cnblogs.com/yinrq/p/5590970.html


导入excel库。 把数据放到 datagridview中。
Response.Clear();//清除缓冲区流中所有内容的输出
Response.Buffer = true;//获取和设置一e799bee5baa6e59b9ee7ad94330个值,该值指出是否缓冲输出,并在完成处理整个响应之后将其发送
Response.Charset = "GB2312";//获取和设置输出流的http字符集;
Response.AppendHeader("Content-Disposition", "attachment;filename = FileName.xls");//将http头添加到输出流
//如果设置成GB2312导出的将是乱码
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件
System.IO.StringWriter oStringWriter = new StringWriter();//实现一个用于将信息写入字符串 TextWriter 该信息存储在基础StringBuilder 中
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new HtmlTextWriter(oStringWriter);//将标记字符和文本写入到asp.net控件输出流
this.GV_WJ.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();//向客户端发送所有输出流
Response.End();//结束

public void CreateExcel(DataSet ds,string typeid,string FileName)
{
HttpResponse resp;
resp = Page.Response;
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
string colHeaders= "", ls_item="";
int i=0;

//定义表对象与行对像,同时用DataSet对其值进行初始化
DataTable dt=ds.Tables[0];
DataRow[] myRow=dt.Select("");
// typeid=="1"时导出为EXCEL格式文件;typeid=="2"时导出为XML格式文件
if(typeid=="1")
{
//取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符
for(i=0;i<dt.Columns.Count-1;i++)
colHeaders+=dt.Columns[i].Caption.ToString()+"\t";
colHeaders +=dt.Columns[i].Caption.ToString() +"\n";
//向HTTP输出流中写入取得的数据信息
resp.Write(colHeaders);
//逐行处理数据
foreach(DataRow row in myRow)
{
//在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n
for(i=0;i<row.ItemArray.Length-1;i++)
ls_item +=row[i].ToString() + "\t";
ls_item += row[i].ToString() +"\n";
//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
resp.Write(ls_item);
ls_item="";
}
}
else
{
if(typeid=="2")
{
//从DataSet中直接导出XML数据并且写到7a686964616fe78988e69d83337HTTP输出流中
resp.Write(ds.GetXml());
}
}
//写缓冲区中的数据到HTTP头文件中
resp.End();

}

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网