我在页面上要用多个gridview 控件反应数据,我想把这些gridview 中的数据 导入到 一个 Excel 表中

解决方案 »

  1.   

    http://topic.csdn.net/u/20100226/11/93b5c022-dd5b-4985-8eed-eff7317c5e41.html
      

  2.   

    这个只能导出一个Gridview中的内容,要把多个gridview一次导入一个Excel中有什么办法吗?
      

  3.   

    Gridview中的内容先转成datatable,然后合并datatable,最后再到处到excel中去
      

  4.   

    打开excel模板,遍历数据集添加数据到单元格
      

  5.   

    您可以把多个gridview放到一个容器控件里,然后导出。导出的方法我这里有。
    http://blog.xunbin.com/Article/22/
      

  6.   

    随便多少个都可以啊,一个一个的导入每个导入一个工作表,从datatabl读取数据,写到工作表里面就好拉
      

  7.   

    用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;