0
寫它,我使用OpenCsv API,現在我被困在一些problem.Here的我的代碼如何下載csv文件,而無需使用OpenCsv
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
List<UserRegData> userRegDataList = new ArrayList<UserRegData>();
HttpSession session = request.getSession();
userRegDataList = (List<UserRegData>) session.getAttribute("referralData");
List<String[]> dataToWrite = new ArrayList<String[]>();
String csv = "E:\\carewave_backup\\csv\\UserReferral.csv";
CSVWriter writer = new CSVWriter(new FileWriter(csv));
for (UserRegData obj : userRegDataList) {
dataToWrite.add(new String[]{obj.getReferred_by_name(), obj.getInvitee_name(), obj.getInvitee_email(), obj.getInvitee_date(), obj.getIsInviteeRegistered(), obj.getDate_of_invitee_registered()});
}
writer.writeAll(dataToWrite);
writer.close();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
out.close();
}
}
這個servlet基本上是從會話檢索列表並將其寫入到CSV文件這個servlet是在用戶點擊下載csv按鈕後觸發的。現在我需要的是,瀏覽器應該給出一個下載對話框。是否有以csv格式下載它而不用先寫入文件?
爲什麼你認爲你必須將它寫入服務器上的文件?將內容類型設置爲「text/csv」後,而不是'writer.writeAll'將行直接寫入響應。 –