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