RT 我想在b/s里 对一个DataSet 读写到一个Excel 里面...并且保存到客户端...或者让他们下载出来...
新手...看了一些资料 都没头没尾的...看的头疼...最后我直接 dataset.writexml(.xls) 了 但是格式保存出来木有字段的 表头.... 而且不知道如何保存到 用户那里...
大家有什么方法能把一个dataset 保存成一个excel嘛... 求帮忙给思路或者可以参考的材料 谢谢大家了》》》
表示操作的恶心..... 还有dom在用户那里 window.open 打不开该怎吗办?? 失效了..windows.close(); 好使?
------解决方案--------------------------------------------------------
下面是一段Datagrid导出excel的源码,你参考一下:
System.Web.HttpContext curContext = System.Web.HttpContext.Current;
// IO用于导出并返回excel文件
System.IO.StringWriter strWriter = null;
System.Web.UI.HtmlTextWriter htmlWriter = null;
if (DataGrid1 != null)
{
curContext.Response.Clear();
curContext.Response.Buffer = true;
// 设置了类型为中文防止乱码的出现
curContext.Response.Charset = "GB2312";
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
// 设置输出流为简体中文
curContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
// 定义输出文件和文件名
curContext.Response.AppendHeader("Content-Disposition", "attachment;filename=" + "QueryResult" + ".xls");
// 设置编码和附件格式
curContext.Response.ContentType = "application/vnd.ms-excel";
this.EnableViewState = false;
// 导出excel文件
strWriter = new System.IO.StringWriter(myCItrad);
htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);
// 为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的DataGrid
//dgExport = new System.Web.UI.WebControls.DataGrid();
//dgExport.DataSource = userEntity.EntityDataSet.Tables[0].DataSet;
//dgExport.AllowPaging = false;
//dgExport.DataBind();