如何将列表中的数据导出到服务器端的CSV文件?

时间:2014-05-23 19:05:13

标签: jsp csv export-to-csv

我有一个用户列表和非用户列表,我将它放在jsp页面中,使用for循环并通过html表迭代。如何在服务器端将数据导出为CSV。 在客户端将数据导出为CSV很复杂。 我对J2EE的知识非常少。所以请帮助我。如果你可以建议我一个方法,我可以遵循这个..

1 个答案:

答案 0 :(得分:0)

我能够做到这一点。

要求:点击jsp中的按钮后,它应导出为CSV

jsp代码

 <div>

  <input type="button" name="exporttocsv"  onclick="window.open('${pageContext.request.contextPath}/GetUserDetails?exporttocsv=yes','toolbar=no','location=no','status=no','menubar=no','scrollbars=yes','resizable=yes','width=10','height=100');" value="Export to CSV"/>
</div>

GetUserDetails是我的servlet。

Servlet端代码。

        protected void doGet(HttpServletRequest request, HttpServletResponse response)                         throws ServletException, IOException {

    // TODO Auto-generated method stub

    System.out.println("here inside get method");

    String clickevent=request.getParameter("exporttocsv");


    if(clickevent!=null &&clickevent.equalsIgnoreCase("yes"))
    {

        System.out.println("IN here....... download csv file...");
       //Getting the list from a session and iterating through the list
        HttpSession session = request.getSession();
                List<User> nonusers =          (List<User>)session.getAttribute("nonUserList");

        response.setHeader("Content-type","application/csv");
        response.setHeader("Content-disposition","inline; filename=test.csv");
        PrintWriter out = response.getWriter(); 
        out.println("Device Name,Non-Users");
        for(User nonUser: nonusers)
        {
        out.println(nonUser.getDeviceName()+","+ nonUser.getCecId());
           }

        out.flush();  
        out.close();  


    }

Thanks for your help!!
相关问题