当前位置: 首页 > news >正文

建设网站的市场分析建材手机网站

建设网站的市场分析,建材手机网站,河北网站建设流程,公司网站的留言板怎么做需求 将业务数据导出到excel中,老牌的可以选择POI,也有个新的选择EasyExcel。 有个小坑,客户要求样式比较美观,数字列要求千位符,保留2位小数。 可以用代码实现但非常繁琐,用模板就特别方便,模…

需求

将业务数据导出到excel中,老牌的可以选择POI,也有个新的选择EasyExcel。

有个小坑,客户要求样式比较美观,数字列要求千位符,保留2位小数。
可以用代码实现但非常繁琐,用模板就特别方便,模板定义好格式,填充数据即可。

于是开干!

模板

在项目的src\main\resources\templates,静态模板资源目录下,如果templates不存在,创建即可
settle.xlsx

注意下面的模板格式,填充列表,下面{.name}代表entity对应的字段
在这里插入图片描述

修改Entity实体,加控制注解

注意两个注解:
@ExcelIgnore 标识这个字段不会处理
@ExcelProperty(“结算金额”) 要处理的字段,已经如果写入时,列头的名称

package com.rlcloud.system.entity;import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;/*** @version v1.0 创建时间:2023/11/27 16:36* @author: 作者:陈子枢* @web CSDN:https://blog.csdn.net/nutony* @description 描述:*/@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("tb_settle")           //映射数据库表
public class Settle {//序列化时,不采用long类型,而采用string类型,防止雪花精度丢失问题@JsonSerialize(using= ToStringSerializer.class)@TableId(type = IdType.ASSIGN_ID)   //主键生成策略,雪花@ExcelIgnoreprivate Long id;@NotNull(message = "结算批次不能为空")@ExcelProperty("结算批次")private String batch;@NotNull(message = "结算日期不能为空")@ExcelProperty("结算日期")private String dtTimeArr;@NotNull(message = "业务量不能为空")@ExcelProperty("业务量")private BigDecimal volumeAmt;@NotNull(message = "结算金额不能为空")@ExcelProperty("结算金额")private BigDecimal settleAmt;@ExcelIgnoreprivate String createBy;@ExcelIgnoreprivate Date createTime;
}

Controller代码

    @GetMapping("/ljt/settle/export")public void export(HttpServletResponse response) throws IOException {QueryWrapper qw = new QueryWrapper();qw.orderByDesc("create_time");//查询数据List<Settle> dataList = settleService.list(qw);//此处getResourceAsStream 用于获取服务器打包后的Excel模板文件流;//如果采用getPath方法获取文件地址本地ieda环境可以获取到,上传到服务器后会失效。采用流可以都生效,具体原因暂未仔细查看。有兴趣的童鞋可以自己去尝试!InputStream resourceAsStream = ResourceUtil.getStream("classpath:templates/settle.xlsx");//读取Excel 根据指定模板导出ExcelWriter excelWriter = EasyExcel.write(getOutputStream("结算数据.xlsx",response)).withTemplate(resourceAsStream).excelType(ExcelTypeEnum.XLSX).build();WriteSheet writeSheet = EasyExcel.writerSheet().build();FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build();     //关键,多组数据填充需要另起一行,默认为false//直接写入Excel数据(list是我查询并需导出的数据,并且里面的字段和excel需要导出的字段对应)excelWriter.fill(dataList, fillConfig, writeSheet);     //注意模板中需要写变量{.name}excelWriter.finish();}public static OutputStream getOutputStream(String fileName, HttpServletResponse response)  {try {fileName = URLEncoder.encode(fileName, "UTF-8");response.setContentType("application/vnd.ms-excel");response.setCharacterEncoding("utf8");response.setHeader("Content-Disposition", "attachment; filename=" + fileName + ".xls");response.setHeader("Pragma", "public");response.setHeader("Cache-Control", "no-store");response.addHeader("Cache-Control", "max-age=0");return response.getOutputStream();} catch (IOException e) {log.error("导出excel表格失败", e);}return null;}
http://www.yayakq.cn/news/463854/

相关文章:

  • 什么行业做网站多怎么建设一个社交网站
  • 网站html模板免费下载宁波网站建设rswl
  • 贵州两学一做专题网站外贸商城 网站建设
  • 分享网站排名秦皇岛网站推广报价
  • 郑州建材网站建设广东备案网站
  • 深圳企业网站建设服务哪家公司好网站备案被注销了怎么办
  • cgi做的网站做软件常用的网站有哪些
  • 南昌网站做道客网站建设推广
  • 廊坊企业自助建站wordpress 更好的主题
  • 外贸业务怎么利用网站开发客户dell公司网站设计特色
  • 网站建设的基本条件app和手机网站的区别
  • 制作一个网站多少钱网站开发 简单留言板
  • 广州专业网站改版方案权威的企业网站建设
  • 关于做网站的总结百度竞价推广课程
  • 无锡画室网站建设c 网站开发人员工具
  • 工装设计方案网站做公司网站
  • 怎么给网站做快照夜晚必备的直播软件
  • 安庆网站建设兼职网站的制作方法
  • 大型网站建设制作公司中国医院建设协会网站
  • 建设网站需要多少钱视频号分销解决方案的特点
  • 网站外包一般多少钱啊云南省公共资源交易中心
  • 联邦快递网站建设的目标上海公司注册网站
  • 自己的电脑做服务器 并建网站ipv6网站如何做
  • 广州 网站建设公司做seo推广网站
  • 石岩附近做网站公司html编辑器在哪里
  • 企业网站备案条件最专业的网站设计
  • 做网站推广有用不惠州公众号开发公司
  • 服装电子商务网站建设广东网站设计公司电话
  • 网站规划设计报告怎么做网站充值网站
  • 做h网站怎么才能安全邯郸市旅游景点有哪些