请各位技术达人帮忙,
我要将页面的列表数据导入并生成Excel文件,应该怎么做?我的思路是,当点击导出按钮时,询问导出当前页面的数据还是全部数据,
选择之后,弹出类似下载文件的时的保存窗口,下载保存Excel文件。怎么让选择下载数据后,弹出下载框?
还有怎样导出数据?谢谢,小弟不胜感激!

解决方案 »

  1.   

    参考 
    http://apple-wxs.javaeye.com/blog/283824
      

  2.   

    提示我这个错误:type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:156)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    root cause java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:146)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.
      

  3.   

    The Servlet written below outputs an Excel file using JExcel API:import java.io.IOException;
    import java.io.OutputStream;
       
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
       
    import jxl.Workbook;
    import jxl.write.Label;
    import jxl.write.WritableSheet;
    import jxl.write.WritableWorkbook;
       
    public class Sample extends HttpServlet
    {
       public void doGet(HttpServletRequest request, 
        HttpServletResponse response)
          throws ServletException, IOException
       {
        OutputStream out = null;
        try
        {     response.setContentType("application/vnd.ms-excel");     response.setHeader("Content-Disposition", 
        "attachment; filename=sampleName.xls");     WritableWorkbook w = Workbook.createWorkbook(response.getOutputStream());
         WritableSheet s = w.createSheet("Demo", 0);     s.addCell(new Label(0, 0, "Hello World"));
         w.write();
         w.close();    } catch (Exception e)
        {
         throw new ServletException("Exception in Excel Sample Servlet", e);
        } finally
        {
         if (out != null)
          out.close();
        }
       }
      }
      

  4.   

    我没说明白,
    我不想用servlet实现,
    我的页面是用Flex做的,我想直接调用java类处理,或者是jsp,
    给我返回一下下载保存框,并保存Excel。
      

  5.   

    只能笼统地推荐一下你去研究下POI,或者JExcel,不难的
      

  6.   

    3楼写得很好了,就算不用servlet,在java类里边,获取HttpServletResponse对象,其他的差不多了。
      

  7.   

    有第三方包,名字叫:poi.-2.5.1.jar ,你可以在网上搜一下,有这么方面的知识。可以把数据写入到Excel里。