Java 导出Excel利用模版导出
Java导出Excel和word的方式大体相同
1、Excel模版导出到页面下载
首先,导入依赖在pom.xml中我选择的事1.03的版本
第二、在项目或是自己需要的地方建立个文件夹放导出文件的模版,并且配好模版
第三,controller层写入export方法,这里我写的没有将可以作为工具的部分单独写一块而是直接写在controller的方法中这样更直观,并且是使用注解的方式进行的项目配置
@RequestMapping("/export")private void export(Queryable queryable, PropertyPreFilterable propertyPreFilterable, HttpServletRequest request,HttpServletResponse response) throws Exception {//根据系统的需要获取数据源List<Model> resultList = pagejson.getResults();//获得模版String tempFileName = request.getSession().getServletContext().getRealPath("/excelTemplate");//将结果放入这个list中List values = new ArrayList();Map beans = new HashMap();Date date = new Date();SimpleDateFormat simpl = new SimpleDateFormat("yyyyMMddHHmmss");String currntTime = simpl.format(date);tempFileName += "/policyDemo.xls";//导出列表名String fileName = currntTime+"列表.xls";values.addlist);beans.put("values", values);//文件名称统一编码格式fileName = URLEncoder.encode(fileName, "utf-8");//生成的导出文件File destFile = File.createTempFile(fileName, ".xls");//transformer转到ExcelXLSTransformer transformer = new XLSTransformer();BufferedInputStream bis = null;BufferedOutputStream bos = null;try {//将数据添加到模版中生成新的文件transformer.transformXLS(tempFileName, beans, destFile.getAbsolutePath());//将文件输入InputStream inputStream = new FileInputStream(destFile);// 设置response参数,可以打开下载页面response.reset();//设置响应文本格式response.setContentType("application/vnd.ms-excel;charset=utf-8");response.setHeader("Content-Disposition","attachment;filename=" + new String((fileName + ".xls").getBytes(), "iso-8859-1"));//将文件输出到页面ServletOutputStream out = response.getOutputStream();bis = new BufferedInputStream(inputStream);bos = new BufferedOutputStream(out);byte[] buff = new byte[2048];int bytesRead;// 根据读取并写入while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {bos.write(buff, 0, bytesRead);}} catch (ParsePropertyException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (InvalidFormatException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {//使用完成后关闭流try {if (bis != null)bis.close();if (bos != null)bos.close();} catch (IOException e) {}}}
如果用配置文件的方式的话response不用写了 在配置文件那写一下输出类型就可以了
第四、在页面上做一个导出按钮或是其他的触发,如果想用ajax去导出的话需要做特殊处理,正常返回是不会下载的,建议用同步的方式。
var result = $.param(queryParams);location.href="prolicy/export?"+result;//这里的result则是选取的查询条件}
Java 导出Excel利用模版导出相关推荐
- vue+elementui表格前端导出excel以及自定义导出样式
vue+elementui表格前端导出excel以及自定义导出样式 项目遇到前端自己导出表格,我自己把后端给我的数据处理了一波,合并重复列啊,以及表头合并啊.可没想到导出竟然也要前端自己来弄,于是乎请 ...
- 使用 poi 通过浏览器方式导出Excel表格(导出字段与表格字段不一样且取值逻辑改变)
使用 poi 通过浏览器方式导出Excel表格(导出字段与表格字段不一样且取值逻辑改变) 思路:拿到表格页面查询的结果作为查询条件,表格页面的url和点击导出按钮的url是一样的,按钮的url多一个参 ...
- java excel导出 jxl_JAVA利用JXL导出/生成 EXCEL
jxl是java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI.其中功能相对POI比较弱一点.但jExcelAPI对中文支持非常好,A ...
- Java web项目利用POI导出EXCEL表格
SSH2 POI导出EXCEL表格 1.首先导入poi的jar包 HSSFWorkbook :工作簿,代表一个excel的整个文档 HSSFSheet:工作表 HSSFRow :行 HSSFCell: ...
- java 导出excel教程_Java导出Excel表格
Java导出Excel表格 导出Excel表格需要一个poi-3.9.jar的包,该包在网上可以找到. 第一步,创建Excel对象. HSSFWorkbook workbook = new HSSFW ...
- java导出excel 乱码_java导出excel时出现文件名乱码解决方法
java解决导出Excel时文件名乱码的方法示例:(推荐:java视频教程)String agent = request.getHeader("USER-AGENT").toLow ...
- Java导出Excel模板,导出数据到指定模板,通过模板导入数据(一)
本文章主要是介绍阿里巴巴的easyexcel的使用 1. 首先需要我们导入easyexcel的依赖包 <!-- alibaba/easyexcel 使用高版本,低版本string接收数字丢小数位 ...
- JAVA POI导出excel(三):导出zip压缩包
相信在大部分的web项目中都会有导入导出Excel的需求,之前我也写过两篇导出Excel的文章,没看过的小伙伴可以去看哈,链接也给大家放出来了: 1.导出单个sheet 2.导出多个sheet 但是在 ...
- Java 基于Excel模板实现导出Excel并插入数据
[本案例基于spring boot架构] 一.需求介绍 给定一个Excel模板,在指定位置插入数据,然后将生成的excel导出. 二.实现方法介绍 1.准备Excel模板 模板中要插入数据的地方用&q ...
最新文章
- leetcode算法题--二叉树中序遍历迭代法
- 觉得UtraWebGrid老不稳定
- PowerDesigner使用教程 —— 概念数据模型
- 网关Ocelot功能演示安排的明明白白~~~
- 05-图像的平滑处理(不同的滤波操作)
- 【 Grey Hack 】综合工具 shellOs
- 【HTML】建站成功默认页面
- java-前端之js
- XRD数据分析--如何使用Origin作图?
- C语言课程设计|职工工资管理系统
- [Extjs6] 修改默认的日期月份格式
- 扫描枪取消回车二维码_如何使条码扫描枪录入完不自动回车呢-百度经验
- 高斯消元解线性方程组
- 程序员公司任职软件开发著作权该归谁呢
- 如何系统的学习linux?
- MATLAB符号变量的创建和简单运算
- SpringBoot+Beetlsql代码生成
- c++ 不要节约代码行数_不要只是代码,但也c
- 子类不能抛出新的异常
- DUMeter图形直观显示网络流量的监视器
热门文章
- Day20 python__new__、单态模式、析构方法、常用魔术方法、__str__、__repr__、__bool__ 、__len__...
- soul显示服务器错误,Soul接入一个Http服务
- mysql数据源配置
- 如何在windows系统下安装swoole(cgywin环境)
- kaggle新手实战教程
- Kaggle注册的验证码一直有unknown error
- YOLOv5实战中国交通标志识别(TT100K数据集)
- 游戏html登录注册,HTML5 点击开锁小游戏(反应能力测试)
- 排序算法(一)——冒泡排序原理及Java实现
- 5个有效学习前端的技巧