小工具      在线工具  汉语词典  css  js  c++  java

EasyExcel 组件导出 Excel 文件

后端开发问题解决集合,java,spring boot,spring cloud 额外说明

收录于:116天前

1. 问题出现

最近,我需要导出Excel文件,所以我选择了EasyExcel组件来完成此任务。

2. 代码实现

·1.依赖导入

<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>easyexcel</artifactId>
	<version>2.1.1</version>
</dependency>

2.控制器实现类

/**
 * 文件下载Controller类
 */
@Slf4j
@Controller
public class FileController {

    /**
     * 文件下载
     */
    @GetMapping("/download")
    @ResponseBody
    public void download(HttpServletResponse response){
        try{
            // 设置头部信息和编码
            response.setContentType("application/vnd.ms-excel");
            response.setCharacterEncoding("utf-8");
            // URLEncoder.encode防止中文乱码
            String filName = URLEncoder.encode("导出的文件", "utf-8");
            response.setHeader("Content-disposition", "attachment;filename=" + filName +".xlsx");
            // 待导出列表数据,以下就不搞数据上去了,主要是减少代码~~~
            List<MyExcelDTO> list = new ArrayList<>();
            EasyExcel.write(response.getOutputStream(), MyExcelDTO.class).sheet("第一页").doWrite(list);
        }catch(IOException e){
            e.printStackTrace();
        }
    }

}

3.MyExcelDTO实体类

@ExcelIgnore,导出文件时会忽略该成员变量

@ColunmWidth,设置该成员变量在表中的列宽

@ExcelProperty,指定表中成员变量的标题名称,以及位于哪一列

/**
 * Excel实体类
 */
@Data
public class MyExcelDTO implements Serializable {

    /**
     * 主键id
     */
    @ExcelIgnore
    private Long id;

    /**
     * 键
     */
    @ColumnWidth(40)
    @ExcelProperty(value = "key", index = 0)
    private Long id;

    /**
     * 值
     */
    @ColumnWidth(40)
    @ExcelProperty(value = "value", index = 1)
    private String value;

    /**
     * 是否刪除
     */
    @ExcelIgnore
    private Integer isDelete;

    /**
     * 編輯時間
     */
    @ExcelIgnore
    private Date editTime;

    /**
     * 創建時間
     */
    @ExcelIgnore
    private Date createTime;

    /**
     * 備註
     */
    @ColumnWidth(40)
    @ExcelProperty(value = "remark", index = 2)
    private String remark;

}

. . .

相关推荐

额外说明

BCP修复

BCP 修复方法 使用BCP修复SQL server 2000数据库方法: 如果在使用过程中数据库损坏使用DBCC语句无法处理的情况,但是有历史备份的数据库,而备份数据库的数据确实很久之前的,可以采用BCP工具导出数据原有数据,还原以前的数据后,再次原数

额外说明

SpringBoot 统⼀功能处理

统⼀功能处理 1. 拦截器 2. 统⼀异常处理 3. 统⼀数据返回格式 1. 拦截器 Spring 中提供了具体的实现拦截器:HandlerInterceptor,拦截器的实现分为以下两个步骤: 创建⾃定义拦截器,实现 HandlerIntercepto

额外说明

量化交易 第一课 简介

第一节 简介 概述 量化交易的历史 量化交易的产生 量化交易的兴起 量化交易的繁荣 国内量化交易的发展史 量化交易分类 趋势性交易 市场中性策略 高频交易 不同金融产品的投资技术 股票 期货 量化交易的优势 严格的纪律性 完备的系统 靠数据模型取胜 量化

额外说明

机器学习 第四节 第二课

[toc] Pandas 之读取外部数据 现在假设我们有一组关于狗的名字的统计数据, 那么为了观察这组数据的情况, 我们应该怎么做呢? 我们的这组数据存在csv中, 我们可以使用 pd.read csv 即可 执行结果: 和我们想象的有些差别, 我们以为

额外说明

GitHub 新代码搜索背后的技术

GitHub 新代码搜索背后的技术 本文译自:The technology behind GitHub’s new code search 了解如何构建世界上最大的公共代码搜索索引。 从一年前推出我们对新的和改进的代码搜索体验的技术预览,到我们去年 11

额外说明

【Python 随练】输出美丽的图案

题目: 输出特殊图案,请在 Python 环境中运行,观察其美丽程度。 简介: 在本篇博客中,我们将介绍一个特殊图案的输出,并鼓励读者在 Python 环境中运行代码,亲自欣赏其美丽程度。我们将提供问题的描述,并给出一个完整的代码示例。 问题描述: 我们

额外说明

说透Applet的数字签名之1——Applet及其运行

文章目录 Applet介绍 rt.jar是什么 Applet的极简实例 Applet运行方式 开发环境:Eclipse运行 正式环境: 打包运行 命令行打包 Applet打包档的运行 问题解决 在Eclipse中 Applet运行显示为方块 Applet

额外说明

系统分析师零散知识点

数据库连接池技术 是指在系统初期或者初次使用时,完成数据库的连接,以后不再释放此连接,在处理后面的请求时,反复使用这些已经建立的连接。 这种方式可以大大减少数据库的处理时间,有利于提高系统的整体性能、可测量性和扩展性。 应用服务器的高速缓存? 在应用服务

额外说明

如何在WordPress中创建交互式图像

您想为您的 WordPress 博客创建交互式图像吗?交互式图像允许您突出显示、链接图像的某些区域并为其设置动画。在本文中,我们将向您展示如何在 WordPress 中创建交互式图像。 您想为您的 WordPress 博客创建交互式图像吗?交互式图像允许

ads via 小工具