java用easyexcel按模版导出

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

首先在项目的resources下面建一个template包,之后在下面创建一个模版,模版格式如下:

名称为 financeReportBillStandardTemplateExcel.xlsx:

java用easyexcel按模版导出,java,开发语言

{.fee}类型的属性值,是下面实体类的属性,要注意这里面的格式,不能错,还需要注意就是驼峰,例如:{.stockMv},要跟实体类的属性名保持一致,否则在导入的时候就会出现null之类的问题。

要是需要给属性设置格式之类的,例如:我们这里设置千分符并且保留两位小数,可进行如下图所示的操作,先选中所要设置的单元格,然后右键点击,选中设置单元格格式,就会弹出下图的操作,可以进行配置格式

java用easyexcel按模版导出,java,开发语言

接下来是实体类

package com.citicsc.galaxy.finance.lq;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @ClassName StandardBillFieldsDTO
 * @Description TODO
 * @Author houbing
 * @Date 2023/9/18 10:07
 */

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class StandardBillFieldsDTO {

    private String id;

    //利息收入(利息归本)
    private BigDecimal interest;

    //股息红利
    private BigDecimal dividend;

    //资金余额
    private BigDecimal availableCash;

    //资产市值
    private BigDecimal assetMv;

    //非上市股票市值
    private BigDecimal unlistedMv;

    //当日国债逆回购发生额
    private BigDecimal debtReverseRepurchase;

    //出入金净额
    private BigDecimal netCash;

    //其他资金变动
    private BigDecimal otherCash;

    //总资金变动
    private BigDecimal totalCashInout;

    //交易费用
    private BigDecimal fee;

    //利息收入
    private BigDecimal interestIncome;

    //权利金收支
    private BigDecimal netPremium;

    //执行实收资金
    private BigDecimal realReceiveCash;

    //执行实付资金
    private BigDecimal realPaymentCash;

    //现金替代实收资金
    private BigDecimal realOffsetCashIn;

    //现金替代实付资金
    private BigDecimal realOffsetCashOut;

    //执行冻结资金
    private BigDecimal frozenCash;

    //市值权益
    private BigDecimal totalMv;

    //股票市值
    private BigDecimal stockMv;

    //买券金额
    private BigDecimal buySecuritiesAmount;

    //做市商交易经手费优惠
    private BigDecimal marketDiscount;

    //累计平仓盈亏
    private BigDecimal closePnl;

    //累计浮动盈亏
    private BigDecimal floatPnl;

    //其他交易费用
    private BigDecimal otherFee;

}

这里只展示部分字段。

 接下来就直接在controller层中进行导出文章来源地址https://www.toymoban.com/news/detail-731380.html

@ApiOperation(value = "交易账户基础数据查询表")
    @PostMapping("/exportBill")
    public void exportBill(@RequestBody @Validated TraAccBillReq req ,HttpServletResponse response) throws Exception {
        response.setContentType("application/octet-stream");
        String fileName = URLEncoder.encode("交易账户基础数据查询表" + DateUtils.formatStr(req.getTradingDay()), "utf-8");
        response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
        //查询数据库的数据
        List<StandardBillFieldsDTO> dtos = lqAppService.queryBillFieldList(req);
        if (CollectionUtils.isNotEmpty(dtos)) {
            FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build();
            WriteSheet sheet = EasyExcel.writerSheet(0).build();
            ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream())
                    .withTemplate(new ClassPathResource("template/financeReportBillStandardTemplateExcel.xlsx").getInputStream())
                    .build();
            excelWriter.fill(dtos, fillConfig, sheet);
            excelWriter.finish();
        } else {
            throw new BizException("未查询到账单信息");
        }
    }

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

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

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

相关文章

  • Java 利用Easyexcel动态导出表头列

    其中 fieldName 为要导出的字段名称 也就是 数据对象 中与之对应的字段名称 headName 为与字段对应的表头(我这里默认用的就是导出表头集合中字段排序就是导出的表头排序 如有需要,可以自己定义导出表头顺序) 导出util类,直接上代码 其中  CellStyle() 是设置的默认样式 

    2024年02月11日
    浏览(43)
  • java实现excel的导出之使用easyExcel

    在我们的项目需求中,经常会遇到导出的需求,其中excel的导出最为常见。生成Excel比较有名的框架有Apache poi,jxl等,但他们都存在一个严重的问题就是非常的耗内存,如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者JVM频繁的full gc. EasyExcel是阿里巴巴

    2024年02月15日
    浏览(47)
  • Java——使用EasyExcel导出动态列的Excel

    多多点赞,会变好看! 多多留言,会变有钱! 有些时候列表的列可能是动态的,需要根据动态表头导出Excel文件,这时候可以使用下面的方法解决: 静态列导出代码:

    2024年02月15日
    浏览(49)
  • Java 使用 EasyExcel 实现导入导出(新手篇教程)

    官网镇楼↓,觉得我写的不好的同学可以去官网看哦 EasyExcel 示例: 如上一个简易 Excel 表格,表头占了两行,且第三列开始才为有效数据,那么我们应该如何导入? 建造实体类 首先无论是导入还是导出,都需要先建对应的实体类  如图所示,因为我的示例 Excel 一共需要读

    2024年04月17日
    浏览(41)
  • Java 导出Excel表格生成下拉框-EasyExcel

     

    2024年02月11日
    浏览(51)
  • 【JAVA】easyexcel 导出excel文件带多个图片

    最终效果  pom版本 实现代码  

    2024年02月16日
    浏览(36)
  • JAVA(EasyExcel)通过远程调用模板 导出数据 复杂表头

    最近接手一个需求,单组数据的显示,也有多组数据的显示,查了好多文章,都不是很明白.但是这篇文章和我的需求差不多非常相似(链接放在文末),根据这篇文章然后将自己的实现过程记录了下来,以防之后再用到. 这是我需要导出的excel格式 开头是单条数据的展示 之后是多条数据

    2024年02月03日
    浏览(49)
  • 【Java结合EasyExcel,模板文件填充并导出Excel】

    需求描述: 客户网页上填一个Excel表格,数据存到数据库,这个导出接口要做的就是从数据库中的获取数据并填充到模板文件,最后通过response返给前端一个下载链接,用户即可获取填充好的Excel文件。 方案一: 一开始使用的是easypoi,发现当填充一行数据时是OK的,但是如果

    2024年02月09日
    浏览(59)
  • JAVA利用Freemarker模版动态生成并导出word文档(全网最详细)

    公司的某个需求,需要根据接口的信息生成一份word接口文档信息并支持导出功能。以前没做过这种需求,于是搜罗各种资料,最终发现java利用freemarker模版可以实现这个功能。 1、需要的环境 2、创建模板 1)展示word文档如下所示: 2)将word文档动态的参数替换成占位符,如下

    2024年02月16日
    浏览(45)
  • java-EasyExcel导出excel设置单元格为文本格式(含代码)

    java-EasyExcel导出excel设置单元格为文本格式(含代码) 在使用EasyExcel导出excel模板时。我们会发现导出的日期和大长度数字都会自动更换格式,不是文本格式。并且在空白单元格输入日期也是格式有问题的,如下所示,可以看到当输入相同的日期时,格式会变成自适应,不是文

    2023年04月15日
    浏览(48)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包