首先引入hutool和poi-ooxml依赖

        <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.3</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version></dependency>

代码如图所示: 具体请参考hutool官网

文件转成流工具

public class BigExcelUtils {public static InputStream convertToInputStream(SXSSFWorkbook workbook) throws IOException {ByteArrayOutputStream byteArrayOutputStream = null;try {byteArrayOutputStream = new ByteArrayOutputStream();workbook.write(byteArrayOutputStream);byteArrayOutputStream.flush();byte[] bytes = byteArrayOutputStream.toByteArray();ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);return byteArrayInputStream;} catch (Exception e) {e.printStackTrace();throw e;} finally {if (byteArrayOutputStream != null) {byteArrayOutputStream.close();}if (workbook != null) {workbook.dispose();workbook.close();}}}
}

Excel导出示例:

@Autowired
private OSSFactoryConfig ossFactory;public void export(HttpServletResponse response) throws IOException {List<User> us = new ArrayList<>();User user = new User();user.setName("张三");user.setAge(23);user.setScore(88.32);user.setPass(true);user.setTestDate(DateUtil.date());us.add(user);User user2 = new User();user2.setName("李四");user2.setAge(33);user2.setScore(88.32);user2.setPass(false);user2.setTestDate(DateUtil.date());us.add(user2);List<Object> rows = CollUtil.newArrayList(us.toArray());ExcelWriter writer = ExcelUtil.getWriter(true);writer.write(rows, true);try {InputStream inputStream = BigExcelUtils.convertToInputStream((SXSSFWorkbook) writer.getWorkbook());String excelName = "测试导出";// 上传阿里云 拿到文件全路径String url = ossFactory.build().upload(inputStream, excelName + ".xlsx");// 导出成功} catch (IOException e) {e.printStackTrace();} finally {// 关闭writer,释放内存writer.close();}}

注意 ExcelUtil.getWriter()默认创建xls格式的Excel,因此写出到客户端也需要自定义文件名为XXX.xls,否则会出现文件损坏的提示。 若想生成xlsx格式,请使用ExcelUtil.getWriter(true)创建。具体见hutool官网

使用hutool的导出Excel后缀xlsx相关推荐

  1. Java集成Hutool实现导出Excel功能

    原文来自:https://www.j1angrui.cn/article/2019081623 在工作中刚完成项目集成Hutool实现导出Excel功能,现在记录一下实现过程,方便以后作为例子参考. ...

  2. hutool工具 导出excel

    hutool工具 导出excel 前言 一.pandas是什么? 二.步骤 1.依赖导入 每日鸡汤 前言 本周接到导出数据到excel的任务,第一次写还是很感兴趣的,写完感觉很简单 需求场景:根据时间 ...

  3. 使用hutool工具导出Excel标题自定义顺序

    使用hutool工具导出Excel标题自定义顺序 在自定义别名的时候,map要使用有顺序的 LinkedHashMap(hutool工具:MapUtil.newHashMap(true)) Map&l ...

  4. 前端导出excel(element+xlsx+filesaver插件),表格数据重复问题解决

    纯前端导出excel,表格数据渲染重复 业务需求 页面有table表格里的多条数据,并且没有分页.需求希望不调用接口,纯前端生成excel文件实现导出功能. 效果图 1.安装依赖(xlsx 和 fil ...

  5. hutool工具 导出excel 自定义样式------excel压缩jar

    默认样式导出 //excel public void test() {//随机值String fileUuid = UuidKit.getUUIDNoMinus();String path = (Pa ...

  6. DevExpress 自带的导出EXCEL xls xlsx

    SaveFileDialog saveFileDialog = new SaveFileDialog();                 saveFileDialog.Title = "导 ...

  7. electron中表格导出excel使用XLSX.writeFile 更改写入位置方法

    问题 Vue项目集成为exe程序 使用electron,但是在web端可以使用的XLSX.writeFile会调用网页端保存文件API选择保存位置 在electron环境下生成的文件自动保存在工作目录 ...

  8. POI 导出excel ,xlsx 公式多个下拉框 XSSF

    业务需求需要导出Excel,然而xls部分公式无法使用,且导出效率和行数有限制,因此更换导出文件为xlsx,下拉框个数根据参数传入.代码写得有点乱,如下代码为导出excel xlsx格式的代码 /** ...

  9. hutool导入导出excel

    hutool工具 https://www.hutool.cn/docs/#/poi/Excel%E5%B7%A5%E5%85%B7-ExcelUtil pom依赖 <dependency> ...

最新文章

  1. python和c哪个适合入门-关于python和c语言学哪个好
  2. Angular2.x-主/细节组件
  3. 将图片转存为其它颜色格式(GDI+)
  4. python返回负数_在Python中三角函数sin返回负数
  5. android elf 加固_Android常见App加固厂商脱壳方法的整理
  6. java socket 消息中转,Java中Socket实现消息传输(传输原型)
  7. 目标检测——感受野的学习笔记
  8. 汽车编程都是用matlab,MATLAB编程与汽车仿真应用
  9. 极简Markdown程序员简历模板
  10. 运用现代信息技术 推进环评大数据建设
  11. KEIL C51出现 runtime error R6002 floating point support not loaded解决办法
  12. 超级详细的手把手教你使用Lighthouse更好推动项目性能优化,性能指标详解,优化方法,需要关注指标分析
  13. 图片验证码实现的几种方式
  14. 网络能搜索计算机但不能连接不上,笔记本能搜到无线网络但连接不上怎么办
  15. Apple应用证书申请过程
  16. mysql master thread_Mysql的InnoDB引擎-3.CheckPoint手艺、Master Thread
  17. 网易2016研发工程师编程题--完全解析
  18. c语言 北京时间转换utc时间_UTC时间转换成北京时间C语言函数代码
  19. 音视频基础知识——素材理解
  20. 基于容积卡尔曼滤波(CubatureKalmam Filter, CKF)的车辆状态观测器 Carsim与Simulink联合 可生成C代码

热门文章

  1. 什么是ddos攻击,怎么防御ddos攻击?
  2. folium,绘制线段,连接成多边形
  3. win10照片应用打不开的解决方法
  4. rrpp协议如何修改_Rrpp详解
  5. 计算机教室突发事件处理,课堂突发事件处理
  6. AoPS Volume 1 基础数论 总结
  7. 数据结构4 Tree
  8. 基于R语言的层次聚类分析-【案例实操】-基本操作,一看就会
  9. [转]Linux块设备加速缓存bcache和dm-cache:使用SSD来加速服务器
  10. 关于Qt链接信号与槽不成功的