如题,哪位大侠知道请不吝赐教····希望table也可以生成

解决方案 »

  1.   


    <HTML>
      <HEAD>
        <title>WEB页面导出为EXCEL文档的方法
        </title>
      </HEAD>
    <body>
    <BR>
    <table id = "PrintA" width="100%" border="1" cellspacing="0" cellpadding="0" bgcolor = "#61FF13">
    <TR style="text-align : center;">
     <TD>单元格A</TD>
     <TD>单元格A</TD>
     <TD>单元格A</TD>
     <TD>单元格A</TD>
    </TR>
    <TR>
     <TD colSpan=4 style="text-align : center;"><font color="BLUE" face="Verdana">单元格合并行A</FONT></TD>
    </TR>
    </TABLE>
    <BR>
    <table id = "PrintB" width="100%" border="1" cellspacing="0" cellpadding="0">
    <TR style="text-align : center;">
     <TD>单元格B</TD>
     <TD>单元格B</TD>
     <TD>单元格B</TD>
     <TD>单元格B</TD>
    </TR>
    <TR>
     <TD colSpan=4 style="text-align : center;">单元格合并行B</TD>
    </TR>
    </TABLE>
    <br><br><br>
    <input type="button" onclick="javascript:AllAreaWord();" value="导出页面指定区域内容到Word">
    <input type="button" onclick="javascript:AllAreaExcel();" value="导出页面指定区域内容到Excel">
    <input type="button" onclick="javascript:CellAreaExcel();" value="导出表单单元格内容到Excel">
    <SCRIPT LANGUAGE="javascript">
     //指定页面区域内容导入Excel
     function AllAreaExcel() 
     {
      var oXL = new ActiveXObject("Excel.Application"); 
      var oWB = oXL.Workbooks.Add(); 
      var oSheet = oWB.ActiveSheet;  
      var sel=document.body.createTextRange();
      sel.moveToElementText(PrintA);
      sel.select();
      sel.execCommand("Copy");
      oSheet.Paste();
      oXL.Visible = true;
     }
     //指定页面区域“单元格”内容导入Excel
     function CellAreaExcel() 
     {
      var oXL = new ActiveXObject("Excel.Application"); 
      var oWB = oXL.Workbooks.Add(); 
      var oSheet = oWB.ActiveSheet; 
      var Lenr = PrintA.rows.length;
      for (i=0;i<Lenr;i++) 
      { 
       var Lenc = PrintA.rows(i).cells.length; 
       for (j=0;j<Lenc;j++) 
       { 
        oSheet.Cells(i+1,j+1).value = PrintA.rows(i).cells(j).innerText; 
       } 
      } 
      oXL.Visible = true; 
     } //指定页面区域内容导入Word
     function AllAreaWord()
     {
      var oWD = new ActiveXObject("Word.Application");
      var oDC = oWD.Documents.Add("",0,1);
      var oRange =oDC.Range(0,1);
      var sel = document.body.createTextRange();
      sel.moveToElementText(PrintA);
      sel.select();
      sel.execCommand("Copy");
      oRange.Paste();
      oWD.Application.Visible = true;
      //window.close();
     }
    </SCRIPT>
    </body></html>
      

  2.   

    参考这个:
    《%@ page contentType="application/msexcel" %》 
    《!-- 以上这行设定本网页为excel格式的网页 --》 
    《% 
    response.setHeader("Content-disposition","inline; filename=test1.xls"); 
    //以上这行设定传送到前端浏览器时的档名为test1.xls 
    //就是靠这一行,让前端浏览器以为接收到一个excel档 
    %》 
    《html》 
    《head》 
    《title》Excel档案呈现方式《/title》 
    《/head》 
    《body》 
    《table border="1" width="100%"》 
    《tr》 
    《td》姓名《/td》《td》身份证字号《/td》《td》生日《/td》 
    《/tr》 
    《tr》 
    《td》李《/td》《td》N111111111《/td》《td》1900/11/12《/td》 
    《/tr》 
    《tr》 
    《td》梁《/td》《td》N222222222《/td》《td》1923/10/1《/td》 
    《/tr》 
    《tr》 
    《td》张《/td》《td》N333333333《/td》《td》1934/12/18《/td》 
    《/tr》 
    《/table》 
    《/body》 
    《/html》 
      

  3.   

    谢谢 不过在jsp上不好用哦,还有更好的方法吗?最好可以保存指定的内容,包括页面上的表格 谢谢
      

  4.   

    可以设置一下response的头信息试试
      

  5.   

    如果可以用允许JS脚本的话这个更简单
    <HTML>
    <HEAD>
    <title>WEB页面导出为EXCEL文档的方法
    </title>
    </HEAD>
    <body>
    <BR>
    <table id = “PrintA” width=”100%” border=”1″ cellspacing=”0″ cellpadding=”0″ bgcolor = “#61FF13″>
    <TR style=”text-align : center;”>
    <TD>单元格A</TD>
    <TD>单元格A</TD>
    <TD>单元格A</TD>
    <TD>单元格A</TD>
    </TR>
    <TR>
    <TD colSpan=4 style=”text-align : center;”><font color=”BLUE” face=”Verdana”>单元格合并行A</FONT></TD>
    </TR>
    </TABLE>
    <BR>
    <table id = “PrintB” width=”100%” border=”1″ cellspacing=”0″ cellpadding=”0″>
    <TR style=”text-align : center;”>
    <TD>单元格B</TD>
    <TD>单元格B</TD>
    <TD>单元格B</TD>
    <TD>单元格B</TD>
    </TR>
    <TR>
    <TD colSpan=4 style=”text-align : center;”>单元格合并行B</TD>
    </TR>
    </TABLE>
    <br><br><br>
    <input type=”button” onclick=”javascript:AllAreaWord();” value=”导出页面指定区域内容到Word”>
    <input type=”button” onclick=”javascript:AllAreaExcel();” value=”导出页面指定区域内容到Excel”>
    <input type=”button” onclick=”javascript:CellAreaExcel();” value=”导出表单单元格内容到Excel”>
    <SCRIPT LANGUAGE=”javascript”>
    //指定页面区域内容导入Excel
    function AllAreaExcel()
    {
    var oXL = new ActiveXObject(”Excel.Application”);
    var oWB = oXL.Workbooks.Add();
    var oSheet = oWB.ActiveSheet;
    var sel=document.body.createTextRange();
    sel.moveToElementText(PrintB);
    sel.select();
    sel.execCommand(”Copy”);
    oSheet.Paste();
    oXL.Visible = true;
    }本人修改为://指定页面区域内容导入Excel
    function AllAreaExcel()
    {
    var oXL = new ActiveXObject(”Excel.Application”);
    oXL.DisplayAlerts=true;
    var oWB = oXL.Workbooks.Add();
    var oSheet = oWB.ActiveSheet;var sel=document.body.createTextRange();
    sel.moveToElementText(PrintB);
    sel.select();
    sel.execCommand(”Copy”);
    oSheet.paste();
    objRange = oSheet.UsedRange;
    objRange.copy;
    objRange.PasteSpecial(-4163);
    objRange.Font.underline = false;
    objRange.Font.ColorIndex = 0;
    objRange.ColumnWidth = 1;
    objRange.RowHeight = 14 ;
    objRange.Columns.AutoFit ;
    objRange.BorderAround(1,1,1);
    alert(objRange.Hyperlinks.Name );
    //objRange.Cells.Hyperlinks.delete;//想删除超链接,可是一直没有成功
    //oSheet.Range.Hyperlinks.delete();
    //oSheet.Cells.Hyperlinks.delete();
    //objRange.Rows[1].HorizontalAlignment = -4153;
    //alert(objRange.Columns.Count);
    //oSheet.Cells.Hyperlinks(1).delete();
    //oSheet.Hyperlinks.delete();
    //oWB.saveAs(true);//不显示Excel和word窗口进行自动爆出
    //oWB.save();
    //oWB.close();
    oXL.Visible = true;}备注:如何有的图形没有边的话,则需要先吧border属性设置为1,在copy,然后再吧border属性改为0
    //指定页面区域“单元格”内容导入Excel
    function CellAreaExcel()
    {
    var oXL = new ActiveXObject(”Excel.Application”);
    var oWB = oXL.Workbooks.Add();
    var oSheet = oWB.ActiveSheet;
    var Lenr = PrintA.rows.length;
    for (i=0;i<Lenr;i++)
    {
    var Lenc = PrintA.rows(i).cells.length;
    for (j=0;j<Lenc;j++)
    {
    oSheet.Cells(i+1,j+1).value = PrintA.rows(i).cells(j).innerText;
    }
    }
    oXL.Visible = true;
    }
    //指定页面区域内容导入Word
    function AllAreaWord()
    {
    var oWD = new ActiveXObject(”Word.Application”);
    var oDC = oWD.Documents.Add(”",0,1);
    var oRange =oDC.Range(0,1);
    var sel = document.body.createTextRange();
    sel.moveToElementText(PrintA);
    sel.select();
    sel.execCommand(”Copy”);
    oRange.Paste();
    oWD.Application.Visible = true;
    //window.close();
    }
    </SCRIPT>
    </body></html>