1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("application/csv");
response.setHeader("Content-disposition", "attachment; filename=trainee.csv");
ServletOutputStream out = response.getOutputStream();
ExportTrainee exptrainee = new ExportTrainee();
StringBuffer sb;
InputStream in;
sb = exptrainee.exportcsv(request.getParameter("trainees").split(":"));
in = new ByteArrayInputStream(sb.toString().getBytes("UTF-8"));
byte[] outputByte = new byte[4096];
int len = 0;
while((len = in.read(outputByte, 0, 4096)) != -1)
{
out.write(outputByte, 0, len);
}
in.close();
out.flush();
out.close();
}
public StringBuffer exportcsv(String[] str)
{
StringBuffer writer = new StringBuffer();
Session session = HibernateUtil.currentSession();
for (int i = 0; i < str.length; i++)
{
List<Trainee> ltrainee = (List<Trainee>)session.createCriteria(Trainee.class).add(Restrictions.like("id", Integer.parseInt(str[i]))).list();
if (ltrainee != null)
{
for(Trainee tr: (ArrayList<Trainee>)ltrainee)
{
writer.append(tr.getLastName().replace("\r\n", ""));
writer.append(";");
writer.append(tr.getFirstName().replace("\r\n", ""));
writer.append(";");
if (tr.getBirthDate() != null)
{
DateFormat date = new SimpleDateFormat("yyyy-MM-dd");
String birth = date.format(tr.getBirthDate());
writer.append(birth);
}
else
writer.append("");
writer.append(";");
if (tr.getPhotoPath() != null)
writer.append(tr.getPhotoPath().replace("\r\n", ""));
else
writer.append("");
writer.append("\n");
}
}
}
return writer;
} |