求回复~~~~
   我用的是ssh框架做的项目

解决方案 »

  1.   

    用poi或者jxl写个业务类,封装好数据,在action调用一下,页面上点个按钮请求action的方法,这样就可以生成了。
      

  2.   

    www.apache.org
    里面有POI下载。最新的是3.0HSSFWorkbook workbook = new HSSFWorkbook();//一个EXCEL工作薄对象//拼装数据结束后,可以write
    workbook.write(response.getOutputStream());
      

  3.   

    POI操作EXCEL实例:利用Servlet创建和返回一个工作簿。
      
      package org.apache.poi.hssf.usermodel.examples;
      
      import java.io.*;
      import java.net.*;
      import javax.servlet.*;
      import javax.servlet.http.*;
      import org.apache.poi.hssf.usermodel.*;
      
      public class HSSFCreate extends HttpServlet {
      public void init(ServletConfig config)
      throws ServletException {
      super.init(config);
      }
      
      public void destroy() {
      }
      
      /** 处理HTTP GET 和POST请求
      * @param request:请求
      * @param response:应答
      */
      protected void processRequest(HttpServletRequest request,
      HttpServletResponse response)
      throws ServletException, IOException {
      
      response.setContentType("application/vnd.ms-excel");
      HSSFWorkbook wb = new HSSFWorkbook();
      HSSFSheet sheet = wb.createSheet("new sheet");
      
      // 创建一个新的行,添加几个单元格。
      // 行号从0开始计算
      HSSFRow row   = sheet.createRow((short)0);
      // 创建一个单元格,设置单元格的值
      HSSFCell cell  = row.createCell((short)0);
      cell.setCellValue(1);
      
      row.createCell((short)1).setCellValue(1.2);
      row.createCell((short)2).setCellValue("一个字符串值");
      row.createCell((short)3).setCellValue(true);
      // 写入输出结果
      OutputStream out = response.getOutputStream();
      wb.write(out);
      out.close();
      }
      
      /** 处理HTTP GET请求
      * @param request:请求
      * @param response:应答
      */
      protected void doGet(HttpServletRequest request,
      HttpServletResponse response)
      throws ServletException, IOException {
      processRequest(request, response);
      }
      
      /** 处理HTTP POST请求
      * @param request:请求
      * @param response:应答
      */
      protected void doPost(HttpServletRequest request,
      HttpServletResponse response)
      throws ServletException, IOException {
      processRequest(request, response);
      }
      
      /** 返回关于Servlet的简单说明
      */
      public String getServletInfo() {
      return "示例:在Servlet中用HSSF创建Excel工作簿";
      }
      }
      

  4.   

    http://www.javaeye.com/topic/705178
      

  5.   

    POI JXL JACOB都可以操作EXCEL
      

  6.   

    this.getRes().reset();
    this.getRes().setContentType("application/vnd.ms-excel;charset=gb2312");
    this.getRes().setHeader("Content-Disposition", "attachment; filename=\""
    + new String("物资月度中标金额比较表.xls".getBytes("gb2312"),"ISO-8859-1") + "\"");
    OutputStream output = this.getRes().getOutputStream();
    ExcelWorkBook workBook = ExcelUtil.getWorkBook(output);
    ExcelSheet sheet = workBook.addSheet("sheet1");sql 得到list
    for(){
    遍历list
    插入到对应的cell中
    }
    workBook.write(output);
    output.flush();
    output.close();
      

  7.   

    如果确定你的所有客户端上都装有office软件
    直接页面改下 <%@page contentType="application/vnd.ms-excel;charset=GBK" %>
    出来就是excel
      

  8.   

    也可以用就是做啊!不过浏览器的安全性要设置下,
    <script language="jscript">   
    function replaceHtml(replacedStr,repStr,endStr){   
        var replacedStrF = "";   
        var replacedStrB = "";   
        var repStrIndex = replacedStr.indexOf(repStr);   
        while(repStrIndex != -1){   
            replacedStrF = replacedStr.substring(0,repStrIndex);   
            replacedStrB = replacedStr.substring(repStrIndex,replacedStr.length);   
            replacedStrB = replacedStrB.substring(replacedStrB.indexOf(endStr)+1,replacedStrB.length);   
            replacedStr = replacedStrF + replacedStrB;   
            repStrIndex = replacedStr.indexOf(repStr);   
        }   
        return replacedStr;   
    }    
    function htmlToExcel(elTableOut,elDiv){   
        try{   
       
            var elDivStrBak = elDiv.innerHTML;   
          
            elTableOut.border=1;   
             var elDivStr = elDiv.innerHTML;   
            elDivStr = replaceHtml(elDivStr,"<A",">");   
            elDivStr = replaceHtml(elDivStr,"</A",">");   
            elDiv.innerHTML=elDivStr;      
               
            var oRangeRef = document.body.createTextRange();   
            oRangeRef.moveToElementText( elDiv );   
            oRangeRef.execCommand("Copy");   
                elDiv.innerHTML = elDivStrBak;   
               elDivStrBak = "";   
            elDivStr = "";   
               
            var oXL = new ActiveXObject("Excel.Application")   
            var oWB = oXL.Workbooks.Add ;   
            var oSheet = oWB.ActiveSheet ;   
            oSheet.Paste();   
            oSheet.Cells.NumberFormatLocal = "@";   
            oSheet.Columns("D:D").Select   
            oXL.Selection.ColumnWidth = 20  
            oXL.Visible = true;        
            oSheet = null;   
            oWB = null;   
            appExcel = null;   
        }catch(e){   
            alert(e.description)   
        }   
    }   
    </script>   <div id="elDiv"><table id="elTableOut"><tr><td>数据</td></tr></table></div>
      

  9.   

    写一个action(A)用于从数据库取出数据,写一个页面(action A返回的页面)excel.jsp
    excel.jsp页面做成需要导出的excel的格式
    对excel.jsp做特殊处理:<%
        //就是靠这一行,让前端浏览器以为接收到一个excel档  
         response.setHeader("Content-disposition","attachment; filename="+request.getAttribute("startDate")+"~"+request.getAttribute("endDate")+".xls");
    %>
    <html>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK">
    <head>
    <title></title>
    </head>
    <body>
    <table>
             .....
            </table>
    </body>
    </html>这样就OK啦
      

  10.   

    用报表系统吧。。 quiee。 绝对能满足你的要求