java web下载 Excel文件
1、在 response(HttpServletResponse类型)设置返回的类型:
res.setContentType("application/x-download");
res.setHeader(
"Content-disposition",
"attachment;filename="
+ fileName);//其中 fileName 是个变量值
2、获取 输出流
OutputStream outs=res.getOutputStream();
3、获取Excel文件数据流源
//writeList2Excel方法接收一个map的list集合,可将map的key值作为表列名,value值作为表格的值生成Excel,具体方法见下实现类
HSSFWorkbook excel=DataReadedInExcel.writeList2Excel(list);
4、输出Excel的数据流
excel.write(outs);
参考类:
public class DataReadedInExcel {
public static HSSFWorkbook writeList2Excel(List list){
//创建操作Excel的HSSFWorkbook对象
HSSFWorkbook excel= new HSSFWorkbook();
//Excel中的一个sheet(工作表)对应着java中的一个HSSFSheet对象,利用HSSFWorkbook对象可以创建一个HSSFSheet对象
HSSFSheet sheet = excel.createSheet("sheet1");
//给表格添加表头
createFirstRow(sheet.createRow(0),(Map)list.get(0));
//给表格添加内容
createContextRow(sheet,list);
return excel;
}
public static void createFirstRow(HSSFRow firstRow,Map firstCellNames){
Set keys=firstCellNames.keySet();
Iterator it=keys.iterator();
int i=0;
while(it.hasNext()){
Object obj=it.next();
if(obj instanceof String)
firstRow.createCell(i).setCellValue((String)obj);
else if (obj instanceof BigDecimal)
firstRow.createCell(i).setCellValue(((BigDecimal)obj).intValue());
else if (obj==null)
firstRow.createCell(i).setCellValue("null");
else
firstRow.createCell(i).setCellValue("");
i++;
}
}
public static void createContextRow(HSSFSheet sheet,List list){
for(int i=0;i<list.size();i++){
HSSFRow row=sheet.createRow(i+1);
Map map=(Map)list.get(i);
Collection collection=map.values();
Iterator it = collection.iterator();
int j=0;
while(it.hasNext()){
Object obj=it.next();
if(obj instanceof String)
row.createCell(j).setCellValue((String)obj);
else if (obj instanceof BigDecimal)
row.createCell(j).setCellValue(((BigDecimal)obj).intValue());
else if (obj==null)
row.createCell(j).setCellValue("null");
else
row.createCell(j).setCellValue("");
j++;
}
}
}
}
jar包依赖配置:
<!-- Excel的读写 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.5-FINAL</version>
</dependency>
java web下载 Excel文件相关推荐
- 阿里开源(EasyExcel):使用Java将数据导出为Excel表格、带样式----》java web下载 Excel文件
目录 一.技术选型 二.实现过程 1.导入依赖 2.编写工具类 EasyExcelUtil 3.公用参数类 EasyExcelParams 4.表格样式实体类 MyWriteHandler 5.数据实 ...
- Java Web下载Excel模板
在java web项目中常常会遇到下载本地模板的要求,这里以下载Excel模板为例进行说明. 一.首先要在自己的项目下存放一个Excel文件,如图: 这个文件的存放位置不是固定的,我们可以通过获取真实 ...
- java web下载zip文件_Java Web之下载文件
下载的文件,不能随便的被访问,放在外面的文件夹肯定不行,url一敲就能访问了,所以我们要放在WEB-INF文件夹里面,WEB-INF文件夹只有Servlet才能访问,我们新建一个文件夹,叫downlo ...
- Java web导出excel文件 - poi
Javaweb项目加入导出excel功能只需要2个步骤: 1.在需要的controller里面加入下面接口代码: /*** excel导出controller层代码** @param params* ...
- java实现下载excel文件
List<EmailRecordVO> ers = queryEmailRecordList(query);SimpleDateFormat sdf = new SimpleDateFor ...
- java ssh 下载excel,SSH整合WEB导出EXCEL案例
基于Spring,Struts2,Hibernate整合, jsp页面导出(下载)excel文件的简单应用 1)本例不采用Java任何导出excel文件常用的poi或者jxl 等第三方jar包,仅仅基 ...
- react接收后端文件_React获取Java后台文件流并下载Excel文件流程解析
记录使用blob对象接收java后台文件流并下载为xlsx格式的详细过程,关键部分代码如下. 首先在java后台中设置response中的参数: public void exportExcel(Htt ...
- java文件流下载excel_React获取Java后台文件流下载Excel文件
记录使用blob对象接收java后台文件流并下载为xlsx格式的详细过程,关键部分代码如下. 首先在java后台中设置response中的参数: public void exportExcel(Htt ...
- java使用jxl生成excel表格,jsp使用js下载excel文件xls
java使用jxl生成excel表格,jsp使用js下载excel文件 后端代码 maven jar包 主体代码逻辑 引入的jar包 具体代码段 重点详解 表头和表格内容两种格式 直接将 HttpSe ...
最新文章
- 一条推文卖出 290 万美元天价?网友:我竟是隐藏的富翁
- Kotlin学习笔记(2)- 空安全
- jquery.cookie.js 使用小结
- 初一模拟赛总结(3.30)
- mybaties总结+hibernate总结
- jenkins Auth fail验证失败
- Android4开发入门经典 之 第七部分:数据存储
- VBA 读写文本文件的几种方法
- python发红包实现
- Django:静态文件staticfiles
- ios 给网页传值_iOS开发—页面传值汇总
- 玩转华为数据中心交换机系列 | 配置基于VLAN的MAC地址学习限制示例
- 电力电子,电机控制系统的建模与仿真
- 模电数电高频电路综合实验成套设备QY-MS535G
- 任正非宣布华为成立“煤炭军团”,进军煤矿业
- 怎样做具有视觉冲击感的非主流照片
- matlab p文件转码 matlab pcode文件 将matlab中的p文件转为m文件工具
- UOS系统下安装软件打不开的解决方法
- Excel如何实现两个工作表数据的对比
- esp8266网络自动对时 串口字符连接 病显示 12864i2c u8g2库
热门文章
- 蚌埠学院计算机系怎样,蚌埠学院专业排名及介绍 哪些专业最好
- Google、迅雷与李开复、周鸿祎的那点破事
- 【渝粤题库】广东开放大学 形成性考核 - 副本 (13)
- Python+Vue计算机毕业设计包头市大学生家教信息中介平台aizx2(源码+程序+LW+部署)
- 画直方图和函数密度曲线的几种方法
- 《JavaScript前端开发案例教程》------第8章事件课后练习
- 转正 自我鉴定 模板
- 基于云计算的软件工程质量- 讨论中ing
- NUC“小钢炮”现身ChinaJoy:英特尔为了游戏有多拼?
- 知识管理在商业模式创新中的重要性