一次导出两个gridview里的内容到一个Excel表格中

yanghua_yanghua 2011-04-02 11:08:25
假如我的当前页有两个gridview。我同时想导出这两个gridview里的数据到一个表里。请问各位高手,我该怎么做。我是新手,希望各位大侠多多帮助啊
...全文
224 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanghua_yanghua 2011-04-02
  • 打赏
  • 举报
回复
还有个问题,我的第一个gridview里的数据,实际上是多个表的一部分,是一个数据库里的视图(这个gridview里的数据相当于是临时生成的),但是我还想对它进行修改,就是gridview里的自带的“编辑”,然后在插回到原来的各个表中,能实现吗,怎么判断呢?麻烦各位了,指点一下。
yanghua_yanghua 2011-04-02
  • 打赏
  • 举报
回复
谢谢,我试试
wosizy 2011-04-02
  • 打赏
  • 举报
回复
你把两个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

子夜__ 2011-04-02
  • 打赏
  • 举报
回复
把这两个Gridview 的数据源 组装一个dataset或者datatable中

然后dataset导出excel

private 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();
}
控件使用
1、鼠标经过行的时候改变该行的样式,鼠标离开行的时候恢复该行的样式
使用方法(设置属性):
MouseOverCssClass - 鼠标经过行时行的 CSS 类名

2、对多个字段进行复合排序;升序、降序的排序状态提示
使用方法(设置SmartSorting复合属性):
AllowSortTip - 是否启用排序提示
AllowMultiSorting - 是否启用复合排序
SortAscImageUrl - 升序提示图片的URL(不设置则使用默认图片)
SortDescImageUrl - 降序提示图片的URL(不设置则使用默认图片)
SortAscText - 升序提示文本
SortDescText - 降序提示文本

3、根据按钮的CommandName设置其客户端属性
使用方法(设置ClientButtons集合属性):
BoundCommandName - 需要绑定的CommandName
AttributeKey - 属性的名称
AttributeValue - 属性的值(两个占位符:{0} - CommandArgument;{1} - Text)
Position - 属性的值的位置

4、联动复选框(复选框的全选和取消全选)。选指定的父复选框,则设置指定的所有子复选框为选状态;取消选指定的父复选框,则设置指定的所有子复选框为取消选状态。如果指定的所有子复选框为均选状态,则设置指定的父复选框为选状态;如果指定的所有子复选框至少有一个为取消选状态,则设置指定的父复选框为取消选状态
使用方法(设置CascadeCheckboxes集合属性):
ParentCheckboxID - 模板列 父复选框ID
ChildCheckboxID - 模板列 子复选框ID
YYControls.Helper.SmartGridView的静态方法
List GetCheckedDataKey(GridView gv, int columnIndex)
List GetCheckedDataKey(GridView gv, string checkboxId)

5、固定指定行、指定列,根据RowType固定行,根据RowState固定行
使用方法(设置FixRowColumn复合属性):
FixRowType - 需要固定的行的RowType(用逗号“,”分隔)
FixRowState - 需要固定的行的RowState(用逗号“,”分隔)
FixRows - 需要固定的行的索引(用逗号“,”分隔)
FixColumns - 需要固定的列的索引(用逗号“,”分隔)
TableWidth - 表格的宽度
TableHeight - 表格的高度

6、响应行的单击事件和双击事件,并在服务端处理
使用方法(设置属性):
BoundRowClickCommandName - 行的单击事件需要绑定的CommandName
BoundRowDoubleClickCommandName - 行的双击事件需要绑定的CommandName

7、行的指定复选框选的时候改变该行的样式,行的指定复选框取消选的时候恢复该行的样式
使用方法(设置CheckedRowCssClass复合属性):
CheckBoxID - 模板列 数据行的复选框ID
CssClass - 选的行的 CSS 类名

8、导出数据源的数据为Excel、Word或Text(应保证数据源的类型为DataTable或DataSet)
使用方法:
为SmartGridView添加的方法
Export(string fileName)
Export(string fileName, ExportFormat exportFormat)
Export(string fileName, ExportFormat exportFormat, Encoding encoding)
Export(string fileName, int[] columnIndexList, ExportFormat exportFormat, Encoding encoding)
Export(string fileName, int[] columnIndexList, string[] headers, ExportFormat exportFormat, Encoding encoding)

9、给数据行增加右键菜单,响应服务端事件或超级链接
使用方法(设置ContextMenus集合属性):
Text - 菜单的文本内容
BoundCommandName - 需要绑定的CommandName
NavigateUrl - 链接的URL
Target - 链接的目标窗口或框架
SmartGridView的属性ContextMenuCssClass - 右键菜单的级联样式表 CSS 类名(右键菜单的结构div ul li a)

10、自定义分页样式。显示总记录数、每页记录数、当前页数、总页数、首页、上一页、下一页、末页和分页按钮
使用方法(设置CustomPagerSettings复合属性):
PagingMode - 自定义分页的显示模式
TextFormat - 自定义分页的文本显示样式(四个占位符:{0}-每页显示记录数;{1}-总记录数;{2}-当前页数;{3}-总页数)

11、合并指定列的相邻且内容相同的单元格
使用方法(设置属性):
MergeCells - 需要合并单元格的列的索引(用逗号“,”分隔)

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧