提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、单元格的合并
  • 二、表格的生成和导出
    • 1.后端代码
    • 2.前端代码
  • 总结

前言

提示:这里可以添加本文要记录的大概内容:

最近遇到一个需求需要自己手动写一个网页数据导出excel文件并下载;在此前一直使用的是SXSSFWorkbook,但是有些excel的样式使用不是很清楚,所以找到了HSSFWorkbook。在网上网上查询了一下分享的样例,再结合公司同事以前写过类似功能,最后将这个需求给搞定了,在此记录一下自己的一些使用示例。


一、单元格的合并

开始在网上搜索时发现大部分都是只介绍了一点标题的合并,但是都描述的不是很清楚,然后照着写出来果然就有问题;然后自己又仔细的搜索了下终于找到一些比较详细的描写示例;
代码如下:

rowTwo.createCell(0).setCellValue("盘存日期:"+ LocalDate.now());
CellRangeAddress region1 = new CellRangeAddress(1, 1, 0, 7);
sheet.addMergedRegion(region1);
rowTwo.createCell(8).setCellValue("单位:元");
CellRangeAddress region2 = new CellRangeAddress(1, 1, 8, 12);
sheet.addMergedRegion(region2);

可以看到我们合并单元格的关键就在于四个参数,分别是 合并起始行、合并终止行、合并起始列、合并终止列;就是以excel左上角第一个单元格坐标为(0,0)为参照。然后需要注意的是下一个单元格的column要从上一个合并单元格的最后一列开始往下排,例如我的合并到第7列,那我下一个就从8开始创建;

二、表格的生成和导出

1.后端代码

代码如下(示例):

response.setContentType("application/vnd.ms-excel");response.setCharacterEncoding("utf-8");response.addHeader("Content-Disposition","attachment;filename=" + new String((fileName + ".xls").getBytes("gb2312"), "ISO8859-1"));OutputStream outp = response.getOutputStream();workbook.write(response.getOutputStream());outp.flush();outp.close();

这里主要是注意下response的编码格式

2.前端代码

代码如下(示例):

location.href="${pageContext.request.contextPath}/***/download.do?"+pp;

前端请求开始我没有加上${pageContext.request.contextPath},导致一直返回的乱码,无法导出,后续又查询了一下,才发现还要加上,然后就导出成功。


总结

其实代码都比较简单,思路也是比较简单,就是将页面查询条件传回接口,然后将不分页的数据全部获取到后填充到表格中,最好通过流导出下载即可。只是第一次遇到就记录了一下,很多也是细节需要注意的,稍微没注意到可能生成的表格样式就不一样了。希望能有帮助!

Java中使用HSSFWorkbook POI导出下载excel文件相关推荐

  1. vue导出excel加一个进度条_vue项目中如何把数据导出成excel文件

    Loading... 关于vue中如何把数据导出成excel文件 ### 1. 安装依赖 ``` yarn add file-saver yarn add xlsx yarn add script-l ...

  2. POI导出的Excel文件无法打开

    问题描述:使用poi导出的excel文件无法打开 解决方法:我这里的问题是文件格式 我出错的格式是.xlsx,将文件名后缀改成.xls就可以打开了

  3. java poi导出下载excel报表或下载到指定路径

    1. 数据库查出数据导出excel浏览器并下载 /*** 导出下载excel* @param list 导出数据* @throws Exception*/public static void expo ...

  4. 使用java在后台将数据导出为excel文件

    本文主要讲的是怎么使用java将数据导出为Excel文件,xls格式的. 例如:我从前台查询到的数据,要把数据进行导出为excl格式的文件.需要将前台的查询条件(数据)传递到后台,后台拿到数据,写sq ...

  5. Easyexcel配置自定义列与自定义顺序导出下载Excel文件

    依赖版本 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</art ...

  6. Python爬取网页中表格数据并导出为Excel文件

    本文使用自己创建的网页进行模拟和演示,在爬取真实网页时,分析网页源代码然后修改代码中的正则表达式即可. 假设某网页源代码为: 在Hbuilder中单击菜单"运行",选择使用Goog ...

  7. 【导出Excel】Vue实现导出下载Excel文件(blob文件流)--亲测可用

    // 下载blob文件流(暂不支持手机H5唤起下载文件!!!) downloadFile(res: any, fileName: any = '未命名', format: any = '.xlsx') ...

  8. java poi打印excel_java中对poi导出的Excel进行打印设置

    java中对poi导出的Excel进行打印设置 java中对poi导出的Excel进行打印设置 无模板时 PrintSetup ps = sheet.getPrintSetup(); // 印刷方向. ...

  9. JAVA实现数据库数据导入/导出到Excel(POI)

    原文地址为: JAVA实现数据库数据导入/导出到Excel(POI) 准备工作: 1.导入POI包:POI下载地址http://mirrors.tuna.tsinghua.edu.cn/apache/ ...

最新文章

  1. arraylist 后往前遍历_Java集合框架之ArrayList
  2. 我把面试官问的没话说了,这样好吗?
  3. 在Windows Azure公有云环境部署企业应用
  4. 使用ASP.NET Core MVC的Vue.Js
  5. table表头多选框禁用 vue_Vue踩坑小记(四)
  6. ASP.NET Core WebAPI控制器返回类型的最佳选项
  7. 协同过滤算法_《推荐系统实践》3.基于物品的协同过滤算法
  8. 推荐使用maven生成mybatis代码
  9. 5G 智能融合城域网特点与组网方案
  10. 杭州电子科技大学计算机考研资料汇总
  11. b站会员转正自动答题
  12. java rrd_java利用rrd4j做服务监控的图片
  13. c++ append用法
  14. (一)TileMap使用
  15. KMP算法的时间复杂度
  16. 蓝牙配对,解决蓝牙多次连接不上的问题
  17. mysql数据库中的KEY和PRIMARY KEY的疑惑?
  18. 不要因为不知,所以设计
  19. 项目启动成功,但是Eureka页面不显示
  20. CTR --- NFM论文阅读笔记,及tf2复现

热门文章

  1. MAC电脑连接windows台式机
  2. 人才缺口达30万!前端人拿下这个证书有多吃香?!
  3. 华为鸿蒙福利群抢红包,成就红包第一抢!华为Mate S拒绝手慢无
  4. [2017纪中10-26]摘Galo 树型背包
  5. 【博弈论】POJ[2348]Euclid's Game
  6. 荣耀v40和荣耀v40pro的区别
  7. vux scroller在iOS13上,一停止滑动就跳到顶部
  8. 关于家用路由器下挂多个设备包括下挂路由器的操作
  9. Sharding Sphere ~ Sharding-jdbc分库分表、读写分离
  10. Mac 下生成keystore以及获得数字签名