如何将jsp页面中的表格通过点击下按钮导出到Word文档中同时将表格里面的数据提交到Action中

解决方案 »

  1.   

    点击下按钮导出到Word文档
    就是发送个请求给服务器,服务器再根据你发送的请求把数据写进WORD导出来
      

  2.   

    可以,借助POI这种工具包,本来就是将数据先传到Action,然后借助这个包组word,回传到页面。这样就满足楼主2个需要了。
      

  3.   

    你通过actionform取到数据,在action中将它用io流写进word文件不就行了。
      

  4.   

    你吧 生成的 word文件 流放到 response 的输出流里 
    在设置下  response.setContentType("application/vnd.ms-excel"); (我这个出来时 excel  前两天写的)action 层 不用导航   你页面上就有 下载的提示框了
      

  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>