一次导出两个gridview里的内容到一个Excel表格中 假如我的当前页有两个gridview。我同时想导出这两个gridview里的数据到一个表里。请问各位高手,我该怎么做。我是新手,希望各位大侠多多帮助啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把这两个Gridview 的数据源 组装一个dataset或者datatable中然后dataset导出excelprivate void Toexcel() { //获取数据集 SqlConnection conn=new SqlConnection("连接数据库"); string strsql="select * from student"; SqlDataAdapter da=new SqlDataAdapter(strsql,conn); DataSet ds=new DataSet(); da.Fill(ds,"test"); DataTable dt=ds.Tables["test"]; StringWriter sw=new StringWriter(); //创建对象 sw.WriteLine("学生信息"); //输入标题 sw.WriteLine("姓名\t年龄\t性别);//输入字段 //输入表格内容 foreach(DataRow dr in dt.Rows) { string str=dr["test"].ToString().Replace("\r"," "); sw.WriteLine(dr["姓名"]+"\t"+dr["年龄"]+"\t"+dr["性别"]); } sw.Close(); //关闭数据流 Response.AddHeader("Content-Disposition", "attachment; filename=test.xls"); //test.xls导入Excel得文件名 Response.ContentType = "application/ms-excel"; Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312"); Response.Write(sw); Response.End(); } 你把两个GridView放在一个div里,比如这样<div runat="server" id="divExport"><gridview1 .....><gridview2 .....></div>然后后台gvSelectorder.RenderControl(oHtmlTextWriter);这句改成divExport.RenderControl(oHtmlTextWriter);试试看!或者using System;using System.Collections.Generic;using System.Text;using Aspose.Cells;using System.Data;namespace ConsoleApplication11{ class Program { static void Main(string[] args) { DataTable dt = new DataTable(); for (int i = 0; i < 2; i++) { dt.Columns.Add(i.ToString()); } DataRow row; for (int i = 0; i < 10; i++) { row = dt.NewRow(); row[0] = i; row[1] = i + 1; dt.Rows.Add(row); } Workbook workbook = new Workbook(); //新建sheet //Worksheet sheet = workbook.Worksheets.Add(); //直接使用默认sheet Worksheet sheet = workbook.Worksheets[0]; sheet.Cells.ImportDataTable(dt, true, "A1"); workbook.Save(@"D:\\TEST.XLS"); } }}aspose.cells dll及使用文档http://download.csdn.net/source/2192653 还有个问题,我的第一个gridview里的数据,实际上是多个表的一部分,是一个数据库里的视图(这个gridview里的数据相当于是临时生成的),但是我还想对它进行修改,就是gridview里的自带的“编辑”,然后在插回到原来的各个表中,能实现吗,怎么判断呢?麻烦各位了,指点一下。 补:ASP.NET时间问题 采集图片正则错在哪里? JS调用IE打印设置横纵向问题 菜鸟请教:asp.net开发B/S系统,HELP…… 问个DataGrid的小问题,顺便散散分 showModalDialog关闭刷新问题。 数据打印输出问题 asp.net 2.0 的视图状态和控件状态??? 一个简单问题,快来拿分 自己写了asp链连接access数据库出问题了 获取DataList中TextBox的值 ASP.NET和 discuz 7.2账号互通问题
{
//获取数据集
SqlConnection conn=new SqlConnection("连接数据库");
string strsql="select * from student";
SqlDataAdapter da=new SqlDataAdapter(strsql,conn);
DataSet ds=new DataSet();
da.Fill(ds,"test");
DataTable dt=ds.Tables["test"];
StringWriter sw=new StringWriter(); //创建对象
sw.WriteLine("学生信息"); //输入标题
sw.WriteLine("姓名\t年龄\t性别);//输入字段
//输入表格内容
foreach(DataRow dr in dt.Rows)
{
string str=dr["test"].ToString().Replace("\r"," ");
sw.WriteLine(dr["姓名"]+"\t"+dr["年龄"]+"\t"+dr["性别"]);
}
sw.Close(); //关闭数据流
Response.AddHeader("Content-Disposition", "attachment; filename=test.xls"); //test.xls导入Excel得文件名
Response.ContentType = "application/ms-excel";
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
Response.Write(sw);
Response.End();
}
<div runat="server" id="divExport">
<gridview1 .....>
<gridview2 .....>
</div>
然后后台gvSelectorder.RenderControl(oHtmlTextWriter);这句改成divExport.RenderControl(oHtmlTextWriter);试试看!
或者using System;
using System.Collections.Generic;
using System.Text;
using Aspose.Cells;
using System.Data;namespace ConsoleApplication11
{
class Program
{
static void Main(string[] args)
{
DataTable dt = new DataTable();
for (int i = 0; i < 2; i++)
{
dt.Columns.Add(i.ToString());
}
DataRow row;
for (int i = 0; i < 10; i++)
{
row = dt.NewRow();
row[0] = i;
row[1] = i + 1;
dt.Rows.Add(row);
} Workbook workbook = new Workbook(); //新建sheet
//Worksheet sheet = workbook.Worksheets.Add(); //直接使用默认sheet
Worksheet sheet = workbook.Worksheets[0];
sheet.Cells.ImportDataTable(dt, true, "A1"); workbook.Save(@"D:\\TEST.XLS");
} }
}
aspose.cells dll及使用文档
http://download.csdn.net/source/2192653