利用hutool 导入导出 Excel

导入maven

<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.20</version>
</dependency>

导入Excel

public ResponseData uploadExcel(MultipartFile file) {
try {
ExcelReader reader = ExcelUtil.getReader(file.getInputStream());
reader.addHeaderAlias(“Excel标题名称”, “对应实体类别名”);
List<Person> personList = reader.readAll(Person.class);
personMapper.batchInsert(personList);
return ResponseUtil.setData("success", "文件导入成功");
} catch (Exception e) {
log.error("文件导入失败 {}", e);
return ResponseUtil.setErrorMsg("文件导入失败");
}
}

在线导出 xls 格式 Excel

导出Excel

@SneakyThrows
@Override
public void downloadExcel() {
HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
List<Person> personList = personMapper.selectList();
ExcelWriter writer = ExcelUtil.getWriter();
writer.addHeaderAlias(“实体类字段名”, “对应Excel标题名称”);
writer.setOnlyAlias(true);
writer.write(personList, true);
// 设置字号
Font font = writer.createFont();
font.setFontHeightInPoints((short) 16);
writer.getStyleSet().setFont(font, false);
// 设置列宽
writer.getSheet().setDefaultColumnWidth(24);
response.setContentType("application/vnd.ms-excel;charset=utf-8");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
// 注意这里如果需要设置中文文件名,需要重新编码
String filename = new String(“用户表_”.getBytes(), "iso8859-1") + LocalDate.now().format(formatter) + ".xls";
response.setHeader("Content-Disposition", "attachment;filename=" + filename);
ServletOutputStream out = response.getOutputStream();
writer.flush(out, true);
writer.close();
IoUtil.close(out);
}

Java在线数据导入导出Excel的更多相关文章

  1. Java利用POI导入导出Excel中的数据

         首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地 ...

  2. java使用户EasyExcel导入导出excel

    使用alibab的EasyExce完成导入导出excel 一.准备工作 1.导包 <!-- poi 相关--> <dependency> <groupId>org. ...

  3. 045 Java中数据导入到excel

    程序有些参考,不过重要的是思路. 1.导入依赖 <dependencies> <!-- https://mvnrepository.com/artifact/org.apache.p ...

  4. java struts jxl 导入导出Excel(无模板)

    jar包: import javax.servlet.http.HttpServletResponse; import java.io.OutputStream; import java.io.Fil ...

  5. 网页表格导入导出Excel

    用JS实现网页表格数据导入导出excel. 首先是JS文件中的代码 (function($){ function getRows(target){ var state = $(target).data ...

  6. Java实现大批量数据导入导出(100W以上) -(三)超过25列Excel导出

    前面一篇文章介绍大数据量导出实现: Java实现大批量数据导入导出(100W以上) -(二)导出 这篇文章在Excel列较少时,按以上实际验证能很快实现生成.但如果列较多时用StringTemplat ...

  7. .Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) 通过MVC控制器导出导入Excel文件(可用于java SSH架构)

    .Net MVC  导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) [原文地址] 通过MVC控制器导出导入Excel文件(可用于java SSH架构)   public cl ...

  8. 导入导出Excel的Java工具类ExcelUtil

    在编写ExcelUtil之前,在网上查了一些资料.java中用来处理Excel的第三方开源项目主要就是POI和JXL.poi功能强大,但是比较耗资源,对于大数据量的导入导出性能不是太好:jxl功能简单 ...

  9. Java实现大批量数据导入导出(100W以上) -(二)导出

    使用POI或JXLS导出大数据量(百万级)Excel报表常常面临两个问题: 1. 服务器内存溢出: 2. 一次从数据库查询出这么大数据,查询缓慢. 当然也可以分页查询出数据,分别生成多个Excel打包 ...

  10. Java基于注解和反射导入导出Excel

    代码地址如下:http://www.demodashi.com/demo/11995.html 1. 构建项目 使用Spring Boot快速构建一个Web工程,并导入与操作Excel相关的POI包以 ...

随机推荐

  1. Django model 层之Models与Mysql数据库小结

    Django model 层之Models与Mysql数据库小结 by:授客 QQ:1033553122 测试环境: Python版本:python-3.4.0.amd64 下载地址:https:// ...

  2. 利用Curl命令来发邮件的小工具

    一个利用curl来发送邮件的小工具 其实可以扩展出很多其它玩法 例如: 配合系统定时任务做系统状态监控,当满足一定条件自动发送邮件 或者和笔者一样,每次加班后懒得编辑邮件,就可以直接传入相应的参数来发 ...

  3. 【Zookeeper】Win平台伪集群搭建

    下载稳定版Zookeeper https://downloads.apache.org/zookeeper/stable/ GZ包: apache-zookeeper-3.6.3-bin.tar.gz ...

  4. 【RabbitMQ】12 日志监控 & 消息追踪

    一.日志和监控 RabbitMQ日志存放目录 [root@localhost ~]# ll /var/log/rabbitmq/ 总用量 176 -rw-r-----. 1 rabbitmq rabb ...

  5. 【BatchProgram】工作用的小工具 - 自动访问常用页面

    需求: 我需要打开很多页面,但是忘了收藏的话,每次都要重新去找一遍打开 页面很多,不是一两个了,为什么这么多?因为开发情况就是这样啊: 正式生产一个页面,UAT测试一个页面,本地调试一个页面 每日工作 ...

  6. jax框架的 Pallas 方式的GPU扩展不可用

    说下深度学习框架的GPU扩展功能的部分,也就是使用个人定制化的GPU代码编写方式来为深度学习框架做扩展. 深度学习框架本身就是一种对GPU功能的一种封装和调用,但是由于太high-level,因此就会 ...

  7. 使用Redis时的vm.overcommit_memory内存分配控制

    最近在使用Redis的时候遇到了linux系统中的vm.overcommit_memory参数设置,对此不是很了解,于是研究了一下,有了本文. ============================ ...

  8. baselines中环境包装器EpisodicLifeEnv的分析

    如题: class EpisodicLifeEnv(gym.Wrapper): def __init__(self, env): """Make end-of-life ...

  9. 宝塔环境安装redis

    参考: http://www.bt.cn/Help/Find?id=92 步骤: 1. 在安装宝塔时 PHP 版本选 7.0: 2. 安装 redis:wget http://125.88.182.1 ...

  10. Dolphinscheduler Docker部署全攻略

    作者| 陈逸飞 Docker部署的目的是在容器中快速启动部署Apache Dolphinscheduler服务. 先决条件 docker-compose docker 使用容器单机部署Dolphins ...