文章目录
- 一、定义去除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("主键")
@ExcelIgnore
private 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 =创建人")
@ExcelIgnore
private String createUser;
@ApiModelProperty("value =创建时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
@ExcelIgnore
private Date createTime;
@ApiModelProperty("value =更新人")
@ExcelIgnore
private String updateUser;
@ApiModelProperty("value =更新时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
@ExcelIgnore
private Date updateTime;
@ApiModelProperty("value =备注")
@ExcelIgnore
private String remark;
@ApiModelProperty("value =删除标记(0、未删除,1、已删除)")
@ExcelIgnore
private Integer deleted;
@ApiModelProperty("判断明细表")
@ExcelIgnore
private 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", "服务器异常");
}
}
}
四、结果展示
![在这里插入图片描述](https://img-blog.csdnimg.cn/6f2a96395af04292bf16bd4254be45ab.png)