实体类:
package com.aicut.monitor.domain;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* 切刀管控台账
* @author zhangzhi
*/
@ExcelIgnoreUnannotated
@Getter
@Setter
public class CutterControl extends BaseEntity {
/** 主键 */
@ExcelIgnore
@Schema(description = "主键")
private Long id;
/** 工厂编码 */
@ExcelProperty(value = "工厂编码")
@Schema(description = "工厂编码")
private String factoryCode;
/** 产线编码 */
@ExcelProperty(value = "产线编码")
@Schema(description = "产线编码")
private String productionLineCode;
/** 设备编号 */
@ExcelProperty(value = "设备编号")
@Schema(description = "设备编号")
private String deviceNumber;
/** 设备名称 */
@ExcelProperty(value = "设备名称")
@Schema(description = "设备名称")
private String deviceName;
@ExcelProperty(value = "检测刀具编码")
@Schema(description = "检测刀具编码")
private String cutterCode;
@ExcelProperty(value = {"换刀位置", "上刀左"},index = 5)
@Schema(description = "换刀位置上刀左")
private Integer toolChangePosTopLeft;
@ExcelProperty(value = {"换刀位置", "上刀中"},index = 6)
@Schema(description = "换刀位置上刀中")
private Integer toolChangePosTopCenter;
@ExcelProperty(value = {"换刀位置", "上刀右"},index = 7)
@Schema(description = "换刀位置上刀右")
private Integer toolChangePosTopRight;
@ExcelProperty(value = {"换刀位置", "下刀左"},index = 8)
@Schema(description = "换刀位置下刀左")
private Integer toolChangePosBottomLeft;
@ExcelProperty(value = {"换刀位置", "下刀中"},index = 9)
@Schema(description = "换刀位置下刀中")
private Integer toolChangePosBottomCenter;
@ExcelProperty(value = {"换刀位置", "下刀右"},index = 10)
@Schema(description = "换刀位置下刀右")
private Integer toolChangePosBottomRight;
@ExcelProperty(value = {"累计分切米数", "上刀左"},index = 11)
@Schema(description = "累计分切米数上刀左")
private Integer cuttingMetersTopLeft;
@ExcelProperty(value = {"累计分切米数", "上刀中"},index = 12)
@Schema(description = "累计分切米数上刀中")
private Integer cuttingMetersTopCenter;
@ExcelProperty(value = {"累计分切米数", "上刀右"},index = 13)
@Schema(description = "累计分切米数上刀右")
private Integer cuttingMetersTopRight;
@ExcelProperty(value = {"累计分切米数", "下刀左"},index = 14)
@Schema(description = "累计分切米数下刀左")
private Integer cuttingMetersBottomLeft;
@ExcelProperty(value = {"累计分切米数", "下刀中"},index = 15)
@Schema(description = "累计分切米数下刀中")
private Integer cuttingMetersBottomCenter;
@ExcelProperty(value = {"累计分切米数", "下刀右"},index = 16)
@Schema(description = "累计分切米数下刀右")
private Integer cuttingMetersBottomRight;
/** 换刀时间 */
@JsonFormat(timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ExcelProperty(value = "换刀时间")
@ColumnWidth(20)
@Schema(description = "换刀时间")
private Date cutterChangeTime;
/** 上刀数 */
@ExcelProperty(value = "上刀数")
@Schema(description = "上刀数")
private Integer upperKnifeNumber;
/** 下刀数 */
@ExcelProperty(value = "下刀数")
@Schema(description = "下刀数")
private Integer lowerKnifeNumber;
@ExcelProperty(value = "更换人员")
@Schema(description = "更换人员")
private String modifyUser;
/** 备注 */
@ExcelProperty(value = "备注")
@Schema(description = "备注")
private String remark;
}
导出模板到网页
@PostMapping("/importTemplate")
public void importTemplate(HttpServletResponse response) throws UnsupportedEncodingException {
String fileName = "切刀管控台账数据模板.xlsx";
fileName = URLEncoder.encode(fileName, "UTF-8");
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf8");
response.setHeader("Content-disposition", "attachment;filename=" + fileName );
try {
EasyExcel.write(response.getOutputStream(),CutterControl.class)
.sheet("切刀管控台账数据")
.doWrite(new ArrayList<CutterControl>());
}catch (Exception e){
log.error(e.getMessage());
}
}
导出结果: