如何把 多个Gridview导入到一张 Excel 表中? 我在页面上要用多个gridview 控件反应数据,我想把这些gridview 中的数据 导入到 一个 Excel 表中 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://topic.csdn.net/u/20100226/11/93b5c022-dd5b-4985-8eed-eff7317c5e41.html 这个只能导出一个Gridview中的内容,要把多个gridview一次导入一个Excel中有什么办法吗? Gridview中的内容先转成datatable,然后合并datatable,最后再到处到excel中去 打开excel模板,遍历数据集添加数据到单元格 您可以把多个gridview放到一个容器控件里,然后导出。导出的方法我这里有。http://blog.xunbin.com/Article/22/ 随便多少个都可以啊,一个一个的导入每个导入一个工作表,从datatabl读取数据,写到工作表里面就好拉 用myxls导出单张多张一样的,遍历循环. AspNetPager1.PageSize = AspNetPager1.RecordCount; BindGrid(); Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8"); XlsDocument doc = new XlsDocument(); doc.FileName = "组合查询结果.xls"; //为防止内存溢出,每张表限制3w条数据 //要生成的表sheet的数量 int count = AspNetPager1.RecordCount / 30000; if (AspNetPager1.RecordCount % 30000 > 0) { count++; } for (int k = 0; k < count; k++) { //新建一张工作表 Worksheet sheet = doc.Workbook.Worksheets.AddNamed("sheet"+k.ToString()); Cells cells = sheet.Cells; //添加表头 for (int i = 0; i < gvSanitary.Columns.Count; i++) { cells.Add(1, (i + 1), gvSanitary.Columns[i].HeaderText); } if (k < count - 1) { for (int i = 0; i < 30000; i++) { for (int j = 0; j < gvSanitary.Columns.Count; j++) { cells.Add((i + 2), (j + 1), gvSanitary.Rows[i + k * 30000].Cells[j].Text); } } } else { //20011-2=11 for (int i = 0; i < (AspNetPager1.RecordCount - k * 30000); i++) { for (int j = 0; j < gvSanitary.Columns.Count; j++) { cells.Add((i + 2), (j + 1), gvSanitary.Rows[i + k * 30000].Cells[j].Text); } } } } Response.AppendHeader("content-disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode( "出生信息组合查询记录", System.Text.Encoding.UTF8) + ".xls"); doc.Send(); AspNetPager1.PageSize = 10; BindGrid(); return; 如何做asp.net架构师? 关于删除文件的问题 请问这段存储过程哪写错了? .net2008写asp程序时代码不及时提示 请教关于sql数据的访问问题. 问DATAGRID几个问题,谁能解决,我万分感谢了!!! 求ASP。NET服务器控件开发的资料 这两种写法有区别吗? <%@ Reference Page = "Default8.aspx" %> 这个谁用过,帮我详细说明下,谢谢了 请问如何实现点击datagrid中的某一行,调用后台的方法? 非哥,能不能把底层的那个dropdownlist看不到啊 请教下
http://blog.xunbin.com/Article/22/
单张多张一样的,遍历循环.
AspNetPager1.PageSize = AspNetPager1.RecordCount;
BindGrid(); Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8"); XlsDocument doc = new XlsDocument();
doc.FileName = "组合查询结果.xls";
//为防止内存溢出,每张表限制3w条数据
//要生成的表sheet的数量
int count = AspNetPager1.RecordCount / 30000;
if (AspNetPager1.RecordCount % 30000 > 0)
{
count++;
}
for (int k = 0; k < count; k++)
{
//新建一张工作表
Worksheet sheet = doc.Workbook.Worksheets.AddNamed("sheet"+k.ToString());
Cells cells = sheet.Cells;
//添加表头
for (int i = 0; i < gvSanitary.Columns.Count; i++)
{
cells.Add(1, (i + 1), gvSanitary.Columns[i].HeaderText);
}
if (k < count - 1)
{
for (int i = 0; i < 30000; i++)
{
for (int j = 0; j < gvSanitary.Columns.Count; j++)
{
cells.Add((i + 2), (j + 1), gvSanitary.Rows[i + k * 30000].Cells[j].Text);
}
}
}
else
{
//20011-2=11
for (int i = 0; i < (AspNetPager1.RecordCount - k * 30000); i++)
{
for (int j = 0; j < gvSanitary.Columns.Count; j++)
{
cells.Add((i + 2), (j + 1), gvSanitary.Rows[i + k * 30000].Cells[j].Text);
}
}
}
}
Response.AppendHeader("content-disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(
"出生信息组合查询记录", System.Text.Encoding.UTF8) + ".xls");
doc.Send();
AspNetPager1.PageSize = 10;
BindGrid();
return;