http://community.csdn.net/Expert/topic/3421/3421808.xml?temp=.4027063

解决方案 »

  1.   

    <%@ page language="java" contentType="text/html;charset=UTF-8"%>
    <%@ page import="javax.sql.RowSet"%>
    <%@ taglib uri="netui-tags-databinding.tld" prefix="netui-data"%>
    <%@ taglib uri="netui-tags-html.tld" prefix="netui"%>
    <%@ taglib uri="netui-tags-template.tld" prefix="netui-template"%>
    <netui:html>
        <head>
            <title>
                导出excel
            </title>
        </head>
        <body style="font-size:10pt;font-family:arial;" background="../resources/images/mis_images/titleDH.gif">
            <netui:label value="{pageFlow.tname}" /> 导出成excel格式:
            <p>
               <OBJECT classid="clsid:0002E510-0000-0000-C000-000000000046" height=500 id=Spreadsheet1
    style="LEFT: 0px; TOP: 0px" width="100%" VIEWASTEXT>
                <!--PARAM NAME="HTMLURL" VALUE="ini.htm"-->
                <PARAM NAME="DataType" VALUE="HTMLURL">
                <PARAM NAME="AutoFit" VALUE="0">
                <PARAM NAME="DisplayColHeaders" VALUE="-1">
                <PARAM NAME="DisplayGridlines" VALUE="-1">
                <PARAM NAME="DisplayHorizontalScrollBar" VALUE="-1">
                <PARAM NAME="DisplayRowHeaders" VALUE="-1">
                <PARAM NAME="DisplayTitleBar" VALUE="0">
                <PARAM NAME="DisplayToolbar" VALUE="-1">
                <PARAM NAME="DisplayVerticalScrollBar" VALUE="-1">
                <PARAM NAME="EnableAutoCalculate" VALUE="-1">
                <PARAM NAME="EnableEvents" VALUE="-1">
                <PARAM NAME="MoveAfterReturn" VALUE="-1">
                <PARAM NAME="MoveAfterReturnDirection" VALUE="0">
                <PARAM NAME="RightToLeft" VALUE="0">
                <PARAM NAME="ViewableRange" VALUE="1:65536">
              </OBJECT>
            </p>
            <netui-data:getData resultId="rss" value="{pageFlow.rs}"/>  
            <netui-data:getData resultId="rssub" value="{pageFlow.rssub}"/> 
            <script language="javascript">
            <%
            RowSet rs = (RowSet)pageContext.getAttribute("rss");
            RowSet rs_sub = (RowSet)pageContext.getAttribute("rssub");
            if(rs.isFirst()){
            //System.out.println(rs.getMetaData().getColumnCount());
             try{        
                //输出主表
                int j=1;
               do{ 
               for(int k=1;k<=rs.getMetaData().getColumnCount();k++)
                {%>
                Spreadsheet1.Cells(<%=j%>,<%=k%>)="<%=rs.getString(k)%>";
                <%
                }
                j++;
               }while(rs.next());
               //输出从表
               int m = 3;//子表行
               while(rs_sub.next()){
                for(int i=1;i<rs_sub.getMetaData().getColumnCount();i++){
                %>
                Spreadsheet1.Cells(<%=m%>,<%=i%>)="<%=rs_sub.getString(i)%>";
                <%              
                    }
               m++;  
                   
                }        }catch(Exception e){
                System.out.println("---wrong:"+e.toString());
                }
            }
                %>
                 </script>    </body>
    </netui:html>
    上面的是我实现这个功能的代码
    我的项目也有这个需求
    不过我搞定 了
    如有任何问题,我愿意帮助你
    不过要加分哦
    呵呵
      

  2.   

    可以考虑用CSV或者HTML格式的数据文件,CSV如下
    <object id=Spreadsheet1 classid=CLSID:0002E510-0000-0000-C000-000000000046 style="width:49%;height:350"></object><br>
    <input type=file onchange=test(this.value)>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function test(url){
    Spreadsheet1.CSVURL = url;
    }
    //-->
    </SCRIPT>