假如我的当前页有两个gridview。我同时想导出这两个gridview里的数据到一个表里。请问各位高手,我该怎么做。我是新手,希望各位大侠多多帮助啊

解决方案 »

  1.   

    把这两个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(); 
       }
      

  2.   

    你把两个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
      

  3.   

    还有个问题,我的第一个gridview里的数据,实际上是多个表的一部分,是一个数据库里的视图(这个gridview里的数据相当于是临时生成的),但是我还想对它进行修改,就是gridview里的自带的“编辑”,然后在插回到原来的各个表中,能实现吗,怎么判断呢?麻烦各位了,指点一下。