
文章目录
- 一、定义去除EasyExcel原生格式定义
- 二、实体类
- 三、设置参数
- 四、结果展示
一、定义去除EasyExcel原生格式定义
import com.alibaba.excel.write.metadata.style.WriteCellStyle;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.ss.usermodel.BorderStyle;
import com.alibaba.excel.write.metadata.style.WriteFont;
import org.apache.poi.ss.usermodel.IndexedColors;
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;public class excelTest{public HorizontalCellStyleStrategy getStyleStrategy() {WriteCellStyle contentWriteCellStyle = new WriteCellStyle();contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);contentWriteCellStyle.setBorderLeft(BorderStyle.THIN);contentWriteCellStyle.setBorderTop(BorderStyle.THIN);contentWriteCellStyle.setBorderRight(BorderStyle.THIN);contentWriteCellStyle.setBorderBottom(BorderStyle.THIN);contentWriteCellStyle.setWrapped(true);WriteFont contentWriteFont = new WriteFont();contentWriteFont.setFontHeightInPoints((short) 12);contentWriteCellStyle.setWriteFont(contentWriteFont);WriteCellStyle headWriteCellStyle = new WriteCellStyle();headWriteCellStyle.setFillForegroundColor(IndexedColors.WHITE.getIndex());return new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);}}
二、实体类
package com.zdft.warehouse.prepaymentpool.model;import java.util.Date;import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;import java.io.Serializable;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
@ApiModel("预付款池管理-FilterVoModel")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PrepaymentPoolManageFilterVoModel implements Serializable {@ApiModelProperty("主键")@ExcelIgnoreprivate Long id;@ApiModelProperty("序号")@ExcelProperty("序号")@ColumnWidth(10)private int number;@ApiModelProperty("value =供应商编码")@ExcelProperty("供应商编码")@ColumnWidth(25)private String venderCode;@ApiModelProperty("value =供应商名称")@ExcelProperty("供应商名称")@ColumnWidth(25)private String venderName;@ApiModelProperty("value =预付款总金额")@ExcelProperty("预付款总金额")@ColumnWidth(25)private String advancePaymentAmount;@ApiModelProperty("value =已付预付款额")@ExcelProperty("已付预付款额")@ColumnWidth(25)private String prepaymentPaid;@ApiModelProperty("value =退预付款额")@ExcelProperty("退预付款额")@ColumnWidth(25)private String refundOfAdvancePayment;@ApiModelProperty("value =可用预付款额")@ExcelProperty("可用预付款额")@ColumnWidth(25)private String availablePrepayment;@ApiModelProperty("value =创建人")@ExcelIgnoreprivate String createUser;@ApiModelProperty("value =创建时间")@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")@JSONField(format = "yyyy-MM-dd HH:mm:ss")@ExcelIgnoreprivate Date createTime;@ApiModelProperty("value =更新人")@ExcelIgnoreprivate String updateUser;@ApiModelProperty("value =更新时间")@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")@JSONField(format = "yyyy-MM-dd HH:mm:ss")@ExcelIgnoreprivate Date updateTime;@ApiModelProperty("value =备注")@ExcelIgnoreprivate String remark;@ApiModelProperty("value =删除标记(0、未删除,1、已删除)")@ExcelIgnoreprivate Integer deleted;@ApiModelProperty("判断明细表")@ExcelIgnoreprivate String ifDetail;}
三、设置参数
public class excelTest{public void export(){List<PrepaymentPoolManageFilterVoModel> list=new ArrayList<>();
try {response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");response.setCharacterEncoding("utf-8");String fileName = URLEncoder.encode("预付款池列表导出", "UTF-8").replaceAll("\\\\+", "%20");response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");EasyExcel.write(response.getOutputStream(), PrepaymentPoolManageFilterVoModel.class).sheet("模板").autoTrim(true).registerWriteHandler(getStyleStrategy()).doWrite(list);} catch (Exception e) {e.printStackTrace();throw new BusinessException("500", "服务器异常");}
}}
四、结果展示
