现在有一个网页,有可能含有框架,左边是目录,右边是根据左边的目录显示的结果,如何才能将右边的内容保存成excel呢,右边显示的只有表格和文字。

解决方案 »

  1.   

    头信息中加入这个行不?response.setHeader("Content-disposition","attachment; filename=filename.xls");
      

  2.   

    你在Excel中做一下右页,保存成html,以这个为模板,修改内容带入你要显示的变量.
    输出的时候加上1楼的header.
      

  3.   

    http://hi.baidu.com/one_person/blog/item/b424ef19190b6a72dab4bdf5.html
      

  4.   

    俺现在也需要弄这个东西,1楼和4楼的说的都行,我现在时先有一个一览页面,再点击“出力”按钮输出excel文件,俺现在能想到得就是预先在后台将数据存到sesion,点击出力的时候走后台按俺以前的方法输出,但感觉这样不好,想不经过后台,直接将页面显示的数据输出,要是有好的方案与俺分享一下啊!小弟先谢了!
      

  5.   

    response.setcontenttype("application/vnd.ms-excel");
     我一直是这么弄的。
      

  6.   

    我这两天也在搞报表导出.
    我是这样做的.复制并修改包含内容的页面中的
    <%@ page contentType="application/msexcel;charset=GB2312" %>
    response.setHeader("Content-disposition","attachment;filename=Report.xls");
    这样就能把这个页面以EXCEL的方式让用户保存了.
    但我遇到个问题.如果这个页面中包含<img>的图片.下载Excel后.如果停站(或在无网环境)图片会显示为红X.感觉这种方式导出的图片没有保存在EXCEL文件中.不知哪位大侠有解决的办法.
    PS:因系统环境较老,不能使用JDK1.4以上的版本.
      

  7.   

    问题解决了,LZ也可以试试
    我用的ActionXObject<script>
    function AllAreaExcel(ID)  { 
    try{
    var oXL = new ActiveXObject("Excel.Application");  
    var oWB = oXL.Workbooks.Add();  
    var oSheet = oWB.ActiveSheet;  
    var sel=document.body.createTextRange(); 
    sel.moveToElementText(ID); 
    sel.select(); 
    sel.execCommand("Copy"); 
    oSheet.Paste(); 
    oXL.Visible = true; 
    }catch(e){
    alert("您没有开启ActiveXObject,请开启后重试.");
    }

    </script>
    <div id="excel">
    要导出的内容
    </div>
    <input type="button" OnClick="AllAreaExcel(test)" value="保存为Excel">
      

  8.   

    我的机器提示我没有开启activexobject咋整啊?
      

  9.   

    我把ie里的所有active都改成有效了,谁要知道只需改那个,告诉我,谢谢。要不机器好危险啊。