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利用模版导出相关推荐

  1. vue+elementui表格前端导出excel以及自定义导出样式

    vue+elementui表格前端导出excel以及自定义导出样式 项目遇到前端自己导出表格,我自己把后端给我的数据处理了一波,合并重复列啊,以及表头合并啊.可没想到导出竟然也要前端自己来弄,于是乎请 ...

  2. 使用 poi 通过浏览器方式导出Excel表格(导出字段与表格字段不一样且取值逻辑改变)

    使用 poi 通过浏览器方式导出Excel表格(导出字段与表格字段不一样且取值逻辑改变) 思路:拿到表格页面查询的结果作为查询条件,表格页面的url和点击导出按钮的url是一样的,按钮的url多一个参 ...

  3. java excel导出 jxl_JAVA利用JXL导出/生成 EXCEL

    jxl是java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI.其中功能相对POI比较弱一点.但jExcelAPI对中文支持非常好,A ...

  4. Java web项目利用POI导出EXCEL表格

    SSH2 POI导出EXCEL表格 1.首先导入poi的jar包 HSSFWorkbook :工作簿,代表一个excel的整个文档 HSSFSheet:工作表 HSSFRow :行 HSSFCell: ...

  5. java 导出excel教程_Java导出Excel表格

    Java导出Excel表格 导出Excel表格需要一个poi-3.9.jar的包,该包在网上可以找到. 第一步,创建Excel对象. HSSFWorkbook workbook = new HSSFW ...

  6. java导出excel 乱码_java导出excel时出现文件名乱码解决方法

    java解决导出Excel时文件名乱码的方法示例:(推荐:java视频教程)String agent = request.getHeader("USER-AGENT").toLow ...

  7. Java导出Excel模板,导出数据到指定模板,通过模板导入数据(一)

    本文章主要是介绍阿里巴巴的easyexcel的使用 1. 首先需要我们导入easyexcel的依赖包 <!-- alibaba/easyexcel 使用高版本,低版本string接收数字丢小数位 ...

  8. JAVA POI导出excel(三):导出zip压缩包

    相信在大部分的web项目中都会有导入导出Excel的需求,之前我也写过两篇导出Excel的文章,没看过的小伙伴可以去看哈,链接也给大家放出来了: 1.导出单个sheet 2.导出多个sheet 但是在 ...

  9. Java 基于Excel模板实现导出Excel并插入数据

    [本案例基于spring boot架构] 一.需求介绍 给定一个Excel模板,在指定位置插入数据,然后将生成的excel导出. 二.实现方法介绍 1.准备Excel模板 模板中要插入数据的地方用&q ...

最新文章

  1. leetcode算法题--二叉树中序遍历迭代法
  2. 觉得UtraWebGrid老不稳定
  3. PowerDesigner使用教程 —— 概念数据模型
  4. 网关Ocelot功能演示安排的明明白白~~~
  5. 05-图像的平滑处理(不同的滤波操作)
  6. 【 Grey Hack 】综合工具 shellOs
  7. 【HTML】建站成功默认页面
  8. java-前端之js
  9. XRD数据分析--如何使用Origin作图?
  10. C语言课程设计|职工工资管理系统
  11. [Extjs6] 修改默认的日期月份格式
  12. 扫描枪取消回车二维码_如何使条码扫描枪录入完不自动回车呢-百度经验
  13. 高斯消元解线性方程组
  14. 程序员公司任职软件开发著作权该归谁呢
  15. 如何系统的学习linux?
  16. MATLAB符号变量的创建和简单运算
  17. SpringBoot+Beetlsql代码生成
  18. c++ 不要节约代码行数_不要只是代码,但也c
  19. 子类不能抛出新的异常
  20. DUMeter图形直观显示网络流量的监视器

热门文章

  1. Day20 python__new__、单态模式、析构方法、常用魔术方法、__str__、__repr__、__bool__ 、__len__...
  2. soul显示服务器错误,Soul接入一个Http服务
  3. mysql数据源配置
  4. 如何在windows系统下安装swoole(cgywin环境)
  5. kaggle新手实战教程
  6. Kaggle注册的验证码一直有unknown error
  7. YOLOv5实战中国交通标志识别(TT100K数据集)
  8. 游戏html登录注册,HTML5 点击开锁小游戏(反应能力测试)
  9. 排序算法(一)——冒泡排序原理及Java实现
  10. 5个有效学习前端的技巧