excel导入工具类

这篇具有很好参考价值的文章主要介绍了excel导入工具类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

package com.alpha.erp.util.easyExcel;

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.orderplus.core.handle.BusinessException;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.List;

/**
 * @program: alpha-bi-system
 * @description: easyExcel工具类
 * @author: xianjie.Ye
 * @create: 2022-07-29
 */
@Component
public class EasyExcelUtils {

    //读取excel数据
    public <T> List<T> read(MultipartFile file, Class<T> clazz, Integer headRowNum) {
        try {
            EasyExcelReadListener<T> listener = new EasyExcelReadListener<>();
            EasyExcel.read(file.getInputStream(), clazz, listener).sheet().headRowNumber(headRowNum).doRead();
            return listener.getRows();
        } catch (IOException e) {
            throw new BusinessException(600, "读取excel数据失败!" + e.getMessage(), null);
        }
    }

    //读取excel数据
    public <T> List<T> read(MultipartFile file, Class<T> clazz, Integer headRowNum, String sheet) {
        try {
            EasyExcelReadListener<T> listener = new EasyExcelReadListener<>();
            EasyExcel.read(file.getInputStream(), clazz, listener).sheet(sheet).headRowNumber(headRowNum).doRead();
            return listener.getRows();
        } catch (IOException e) {
            throw new BusinessException(600, "读取excel数据失败!" + e.getMessage(), null);
        }
    }

    public static <T> void writeExcel(List<T> list, Class<T> clazz, HttpServletResponse response, String fileName) throws Exception {
        fileName = URLEncoder.encode(fileName, "UTF-8");
        response.setContentType("application/vnd.ms-excel");
        response.setCharacterEncoding("utf-8");
        response.setHeader("Content-disposition", "attachment;filename=" + fileName + ";filename*=utf-8''" + fileName + ".xlsx");
        ServletOutputStream outputStream = response.getOutputStream();
        try {
            EasyExcel.write(outputStream, clazz)
                    .registerWriteHandler(new CellStyleUtils())
                    .registerWriteHandler(new ExcelCellWidthStyleUtils())
                    .excelType(ExcelTypeEnum.XLSX)
                    .sheet("sheet").doWrite(list);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }finally {
            outputStream.flush();
            outputStream.close();
        }
    }
}

文章来源地址https://www.toymoban.com/news/detail-429162.html

到了这里,关于excel导入工具类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • EasyExcel导出带下拉选数据的Excel数据导入模板

    #因为项目中需要导入一些信息,但是这些信息比较不常见,且在项目字典数据中维护有这些数据,所以在导出模板的时候,把这些数据一并导出,可以减少用户的编写,避免在导入的时候因为数据错误,发生一些业务问题 直接开始 1、以岗位类型为例,展示数据的实现方式

    2024年02月03日
    浏览(50)
  • SpringBoot整合EasyExcel,Excel导入导出就靠它了

    作者主页 :Designer 小郑 作者简介 :3年JAVA全栈开发经验,专注JAVA技术、系统定制、远程指导,致力于企业数字化转型,CSDN学院、蓝桥云课认证讲师。 主打方向 :Vue、SpringBoot、微信小程序 本文讲解了如何在SpringBoot项目中整合EasyExcel,实现Excel快捷导入导出,解析Excel导入导

    2024年02月16日
    浏览(36)
  • Spring Boot集成EasyExcel实现excel导入导出操作

    Easy Excel 官网 Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很

    2024年02月14日
    浏览(41)
  • 使用POI和EasyExcel来实现excel文件的导入导出

    废话不多说咱们直接上干货!!!! 一.读取Excel表格 【1】使用POI读取excel表格中的数据 POI还可以操作我们这个word文档等等,他不仅仅只能弄Excel,而JXI只能操作excel 1.POI的结构,我们可以更具文件的类去选择 相关的对象我当前是使用的XLSX来操作的 HSSF - 提供读写Microsoft

    2024年02月05日
    浏览(59)
  • SpringBoot 集成 EasyExcel 3.x 优雅实现 Excel 导入导出

    EasyExcel 是一个基于 Java 的、快速、简洁、解决大文件内存溢出的 Excel 处理工具。它能让你在不用考虑性能、内存的等因素的情况下,快速完成 Excel 的读、写等功能。 EasyExcel文档地址: https://easyexcel.opensource.alibaba.com/ 引入依赖 简单导出 以导出用户信息为例,接下来手把手教

    2024年02月15日
    浏览(47)
  • Spring Boot 集成 EasyExcel 3.x 优雅实现Excel导入导出

    本章节将介绍 Spring Boot 集成 EasyExcel(优雅实现Excel导入导出)。 🤖 Spring Boot 2.x 实践案例(代码仓库) EasyExcel 是一个基于 Java 的、快速、简洁、解决大文件内存溢出的 Excel 处理工具。它能让你在不用考虑性能、内存的等因素的情况下,快速完成 Excel 的读、写等功能。 Ea

    2024年02月03日
    浏览(78)
  • 【二十四】springboot使用EasyExcel和线程池实现多线程导入Excel数据

      springboot篇章整体栏目:  【一】springboot整合swagger(超详细 【二】springboot整合swagger(自定义)(超详细) 【三】springboot整合token(超详细) 【四】springboot整合mybatis-plus(超详细)(上) 【五】springboot整合mybatis-plus(超详细)(下) 【六】springboot整合自定义全局异常

    2023年04月08日
    浏览(68)
  • EasyExcel入门介绍及工具类,网络下载excel

    前言:在这里分享自己第一次使用EasyExcel并且编写工具类,且在接口中支持excel文件下载的一系列流程,包含所有前后端(JS+JAVA)完整代码,可以根据自己需要自行提取,仅供参考。 一.引入EasyExcel依赖 二.自定义创建一个实体类,如下,这里使用了lombok 其中各个注解功能如

    2024年02月12日
    浏览(59)
  • C# Winfrom通过COM接口访问和控制Excel应用程序,将Excel数据导入DataGridView

    1.首先要创建xlsx文件 2.在Com中添加引用 3. 添加命名空间         using ApExcel = Microsoft.Office.Interop.Excel;         --这样起个名字方面后面写 4.样例 5.获取sheet.Cells值的时候也可以不使用强制转换,还要注意这个的下标是从1开始的

    2024年02月11日
    浏览(46)
  • 【Alibaba工具型技术系列】「EasyExcel技术专题」实战技术针对于项目中常用的Excel操作指南

    EasyExcel教程 本文使用的技术是Alibaba集团开源的EasyExcel技术,该技术是针对Apache POI技术的封装和优化,主要解决了POI技术的耗内存问题,并且提供了较好的API使用。 使用步骤繁琐 动态写出Excel操作非常麻烦 对于新手来说,很难在短时间内上手 读写时需要占用较大的内容,当

    2024年01月19日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包