如何把 多个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; 一个简单的送分问题。都可以进来参谋参谋。 关于全文检索结果高亮显示办法 一个小问题:aspx代码和cs代码分离 用HttpHandler或HttpModel判断用户是否登录问题 前台DATALIST里放一个HIDDEN后台怎么得到? 插入ACCESS数据库出错 如何避免系统为小字体做的网页系统用大字体显示的时候布局混乱的问题? 哪里有asp.net下载啊 请问各位大虾,C#中如何列出局域网内其他机器的名称? vs2005打包web应用程序时能不能创建快捷方式?? 非哥,能不能把底层的那个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;