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.
本文介绍了使用Java通过Servlet实现Excel和TXT文件的生成及下载。对于Excel文件,利用jxl包创建包含特定数据的工作簿;对于TXT文件,则直接通过OutputStream写入文本内容。
828

被折叠的 条评论
为什么被折叠?



