java excel 导出,直接输出,不在项目内生成文件
2016-10-20 13:32
423 查看
/*
* 将数据放入excel表中
*/
//1.创建一个excel对象
HSSFWorkbook excel = new HSSFWorkbook();
//2.样式
//单元格样式
HSSFCellStyle cellStyle = excel.createCellStyle();
HSSFCellStyle fontStyle = excel.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//创建一个居中样式
//字体样式
HSSFFont font = excel.createFont();
font.setColor(HSSFColor.RED.index);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
fontStyle.setFont(font);
fontStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//创建一个居中样式
//2.在excel中添加一个sheet
HSSFSheet sheet = excel.createSheet("帮扶记录");
//3.在sheet中添加第0行:标题(xx的帮扶记录情况)
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(0);
cell.setCellValue(rkxx.getStr("XM")+"的帮扶记录情况");
cell.setCellStyle(fontStyle);
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 6));//合并7列成一列,放大标题(起始行,截至行,起始列, 截至列)
//4.创建单元格,设置表头,以及表头样式
//创建第二行,开始写表头
row = sheet.createRow(1);
//第一列
cell = row.createCell(0);
cell.setCellValue("序号");
cell.setCellStyle(cellStyle);
//第二列
cell = row.createCell(1);
cell.setCellValue("帮扶人员");
cell.setCellStyle(cellStyle);
//第三列
cell = row.createCell(2);
cell.setCellValue("帮扶人联系电话");
cell.setCellStyle(cellStyle);
//第四列
cell = row.createCell(3);
cell.setCellValue("帮扶时间");
cell.setCellStyle(cellStyle);
//第五列
cell = row.createCell(4);
cell.setCellValue("帮扶内容");
cell.setCellStyle(cellStyle);
//第六列
cell = row.createCell(5);
cell.setCellValue("帮扶结果");
cell.setCellStyle(cellStyle);
//第七列
cell = row.createCell(6);
cell.setCellValue("帮扶单位");
cell.setCellStyle(cellStyle);
//5.写入数据
for (int i = 0; i < bfjl.size(); i++) {
//在excel中新增一行
row = sheet.createRow(i + 2);//标题占一行,表头已占一行,故从第三行开始添加数据
//在新增的一行中,依次创建单元格放入上面定义的列值
row.createCell(0).setCellValue(i+1);//序号
row.createCell(1).setCellValue(bfjl.get(i).getStr("BFRY"));//帮扶人员
row.createCell(2).setCellValue(bfjl.get(i).getStr("BFRLXDH"));//帮扶人联系电话
row.createCell(3).setCellValue(bfjl.get(i).getTimestamp("BFSJ").toString());//帮扶时间
row.createCell(4).setCellValue(bfjl.get(i).getStr("BFNR"));//帮扶内容
row.createCell(5).setCellValue(bfjl.get(i).getStr("BFJG"));//帮扶结果
row.createCell(6).setCellValue(bfjl.get(i).getStr("BFDW"));//帮扶单位
}
//6.将其生成一个excel文件,输出
//String name = PathKit.getWebRootPath()+"/download/"+rkxx.getStr("xm")+".xls";
String name =rkxx.getStr("xm")+".xls";
try {
//在本地生成一个excel文件,在传
/*File file = new File(name);
FileOutputStream file1 = new FileOutputStream(file);
excel.write(file1);
file1.close();*/
//直接获取输出,直接输出excel(优先使用)
OutputStream output=response.getOutputStream();
response.reset();
response.setHeader("Content-disposition", "attachment; filename="+ URLEncoder.encode(name, "utf-8"));
response.setContentType("application/msexcel");
excel.write(output);
output.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
* 将数据放入excel表中
*/
//1.创建一个excel对象
HSSFWorkbook excel = new HSSFWorkbook();
//2.样式
//单元格样式
HSSFCellStyle cellStyle = excel.createCellStyle();
HSSFCellStyle fontStyle = excel.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//创建一个居中样式
//字体样式
HSSFFont font = excel.createFont();
font.setColor(HSSFColor.RED.index);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
fontStyle.setFont(font);
fontStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//创建一个居中样式
//2.在excel中添加一个sheet
HSSFSheet sheet = excel.createSheet("帮扶记录");
//3.在sheet中添加第0行:标题(xx的帮扶记录情况)
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(0);
cell.setCellValue(rkxx.getStr("XM")+"的帮扶记录情况");
cell.setCellStyle(fontStyle);
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 6));//合并7列成一列,放大标题(起始行,截至行,起始列, 截至列)
//4.创建单元格,设置表头,以及表头样式
//创建第二行,开始写表头
row = sheet.createRow(1);
//第一列
cell = row.createCell(0);
cell.setCellValue("序号");
cell.setCellStyle(cellStyle);
//第二列
cell = row.createCell(1);
cell.setCellValue("帮扶人员");
cell.setCellStyle(cellStyle);
//第三列
cell = row.createCell(2);
cell.setCellValue("帮扶人联系电话");
cell.setCellStyle(cellStyle);
//第四列
cell = row.createCell(3);
cell.setCellValue("帮扶时间");
cell.setCellStyle(cellStyle);
//第五列
cell = row.createCell(4);
cell.setCellValue("帮扶内容");
cell.setCellStyle(cellStyle);
//第六列
cell = row.createCell(5);
cell.setCellValue("帮扶结果");
cell.setCellStyle(cellStyle);
//第七列
cell = row.createCell(6);
cell.setCellValue("帮扶单位");
cell.setCellStyle(cellStyle);
//5.写入数据
for (int i = 0; i < bfjl.size(); i++) {
//在excel中新增一行
row = sheet.createRow(i + 2);//标题占一行,表头已占一行,故从第三行开始添加数据
//在新增的一行中,依次创建单元格放入上面定义的列值
row.createCell(0).setCellValue(i+1);//序号
row.createCell(1).setCellValue(bfjl.get(i).getStr("BFRY"));//帮扶人员
row.createCell(2).setCellValue(bfjl.get(i).getStr("BFRLXDH"));//帮扶人联系电话
row.createCell(3).setCellValue(bfjl.get(i).getTimestamp("BFSJ").toString());//帮扶时间
row.createCell(4).setCellValue(bfjl.get(i).getStr("BFNR"));//帮扶内容
row.createCell(5).setCellValue(bfjl.get(i).getStr("BFJG"));//帮扶结果
row.createCell(6).setCellValue(bfjl.get(i).getStr("BFDW"));//帮扶单位
}
//6.将其生成一个excel文件,输出
//String name = PathKit.getWebRootPath()+"/download/"+rkxx.getStr("xm")+".xls";
String name =rkxx.getStr("xm")+".xls";
try {
//在本地生成一个excel文件,在传
/*File file = new File(name);
FileOutputStream file1 = new FileOutputStream(file);
excel.write(file1);
file1.close();*/
//直接获取输出,直接输出excel(优先使用)
OutputStream output=response.getOutputStream();
response.reset();
response.setHeader("Content-disposition", "attachment; filename="+ URLEncoder.encode(name, "utf-8"));
response.setContentType("application/msexcel");
excel.write(output);
output.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
相关文章推荐
- Java通用的Excel文件生成工具类,支持生成文件和浏览器直接下载
- Java生成excel导出文件(使用poi+JXL)
- java项目中Excel文件的导入导出
- java生成-excel-并导出文件
- Java通用的Excel文件生成工具类,支持生成文件和浏览器直接下载(未测试)
- 如何导出Java项目成为一个可以直接双击运行的jar文件的问题
- 从JAVA直接读取EXCEL、WORD并生成PDF文件
- java生成excel和下载导出文件的工具类
- java项目中Excel文件的导入导出
- Java通用的Excel文件生成工具类,支持生成文件和浏览器直接下载
- 用jsp直接导出内存中生成excel文件
- java项目中Excel文件的导入导出
- java导出Excel文件,直接可以下载,然后更新状态,刷新页面
- java导出文件之Excel(CSV)下并以流形式输出
- JAVA生成并导入导出Excel表格文件
- 将报表不在本地生成文件,直接输出到浏览器或者另存为的方法
- java项目中Excel文件的导入导出
- 【POI】导出excel文件,不生成中间文件,直接将内存中的数据创建对象下载到浏览器
- 利用XML生成Excel,解决直接输出导出EXCEL的关联迅雷吧ASPX下载下来的问题
- 通过文件结构直接生成xls文件的VB.Net和Java两个版本