Servlet端下载txt和excel文件实例
1.下载excel文件:
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class ExcelDownload extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 生成xls
try {
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_kkmmss ");
String random = sdf.format(d);
String targetFile = random + ".excel";
response.setContentType("application/vnd.ms-excel");
response.addHeader("Content-Disposition",
"attachment; filename=\"" + targetFile + "\"");
OutputStream os = response.getOutputStream();
WritableWorkbook wwb = Workbook.createWorkbook(os);
// 新建一张表
WritableSheet wsheet = wwb.createSheet("record", 0);
// 设置表头
Label label = new Label(0, 0, "");
wsheet.addCell(label);
label = new Label(0, 0, "会员姓名");
wsheet.addCell(label);
label = new Label(1, 0, "卡号");
wsheet.addCell(label);
label = new Label(2, 0, "联系地址");
wsheet.addCell(label);
label = new Label(3, 0, "邮编");
wsheet.addCell(label);
label = new Label(4, 0, "联系电话");
wsheet.addCell(label);
label = new Label(5, 0, "手机");
wsheet.addCell(label);
label = new Label(6, 0, "Email");
wsheet.addCell(label);
label = new Label(7, 0, "性别");
wsheet.addCell(label);
wwb.write();
wwb.close();
os.close();
response.flushBuffer();
} catch (Exception e) {
System.out.println("生成信息表(Excel格式)时出错:");
e.printStackTrace();
}
}
}
2.生成txt文件:
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class TxtDownLoad extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 生成txt
try {
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_kkmmss ");
String random = sdf.format(d);
String targetFile = random + ".csv";
response.setContentType("application/x-msdownload");
response.addHeader("Content-Disposition",
"attachment; filename=\"" + targetFile + "\"");
OutputStream os = response.getOutputStream();
String temp = "你好啊!";
os.write(temp.getBytes());
os.close();
response.flushBuffer();
} catch (Exception e) {
System.out.println("生成txt文件时出错:");
e.printStackTrace();
}
}
}
注:这里生成excel时,用到了jxl包,是专门用于java对于Excel文件格式的API.