水晶报表
或vs2008自带的CrystalReport

解决方案 »

  1.   

    水晶报表分页打印
    window.print打印
    导出到 word,excel打印
    打印组件http://topic.csdn.net/u/20090921/20/625a532c-1c97-4bfb-bdf1-7a1ab04fd797.
      

  2.   

    用js实现打印,给你一个例子:
    用的是html的button控件,不用服务器控件
    脚本里:
    <script language="javascript" type="text/javascript">
      var HKEY_Root,HKEY_Path,HKEY_Key;   
        HKEY_Root="HKEY_CURRENT_USER";   
        HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";   
         //设置网页打印的页眉页脚为空   
        function PageSetup_Null()   
        {   
            try  
            {   
                var Wsh=new ActiveXObject("WScript.Shell");   
                HKEY_Key="header";   
                Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");   
                HKEY_Key="footer";   
                Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");   
            }   
            catch(e)   
            {}   
          }
      function printPage(obj) {
                if (obj == 'true') {
                PageSetup_Null();
                    var body = window.document.body.innerHTML;
    //printZone为在gridview中包含的层
                    var printArea = window.document.getElementById("printZone").innerHTML;
                    window.document.body.innerHTML = printArea;
                  window.print("", 5000);
                  window.document.body.innerHTML = body;
                }
            }