当前页面中有N个GirdView
想导出Excel
单个GirdView导出可以实现了!
问题是把当前页面中所有的GirdView导出到一个文件中,
当前页面的GirdView是通过单选按钮选择查看的!
求大神讲思路,方便的话,请附上参考代码!谢谢!
在线等!!!

解决方案 »

  1.   

    把GirdView换成table   在后台动态生成 放入一个div里  用innerHTML获得整个字符串 然后输出
      

  2.   


    还是不太明白,GirdView怎么换成Table,能否来一段简单的代码 !?谢谢高手!
      

  3.   


       <script type="text/javascript" language="javascript">
            function totable() {
                //隐藏控件得到整个div 然后就可以输出了  string类型输出excel  网上应该很多
                document.getElementById("inputable").value = document.getElementById("div").innerHTML;
            }
        </script>
    <input type="text" runat="server" value="" id="inputable" style="display:none;"/>
    <div id="div" runat="server">
     <%=strTable %>
     </div>
    public string strTable = ""; //输出table 
    public void bindTable(string strWhere)
        {
            //假设你获得的是dataset
            for (int i = 0; i < dataset.Tables[0].Rows.Count;i++ )
            {
                strTable += "<tr><td>" + dataset.Tables[0].Rows[i][0].ToString() + "</td>";
                strTable += "<td>" + dataset.Tables[0].Rows[i][0].ToString() + "</td></tr>";
            }
            strTable = "<table>" + strTable + "</table>";  
        }
      

  4.   

    看看这个
    http://download.csdn.net/detail/heycoder/4434575
      

  5.   

    有个复杂一点的方法。
    你绑定gridview 是dataset吧。那就提取dataset的数据,循环一下导出。
      

  6.   

    用DataTable来接收,打个比方:DataTable dt = new DataTable;
    dt.Columns.Add("列名");//此处是给表创建列,有多少列就写多少,然后开始读取数据
    DataRow dr=dt.NewRow();//这里是为表创建行,逐行读取
    for(int i=0;i<dt.Rows.Count;i++)
    {
       dr["列名"]=要取的值
       dt.Rows.Ad(dr);
    }
    //行读取完之后,使用循环,逐行加入
     
      

  7.   

    问题解决了
    不过你说的办法还是不行
    我要导出的是GirdView而不是DataTable,
    GirdView中还有表头,和合计的部分!
    不过谢谢大家的解答!