Przeglądaj źródła

解决导出的excel文件损坏问题

dzx 1 rok temu
rodzic
commit
132f3177ca

+ 4 - 1
src/main/java/com/xjrsoft/module/textbook/controller/TextbookWarehouseRecordController.java

@@ -9,6 +9,7 @@ import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.module.textbook.entity.TextbookWarehouseRecord;
+import com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordExcelVo;
 import com.xjrsoft.module.textbook.vo.TextbookWarehouseRecordPageVo;
 import com.xjrsoft.module.textbook.dto.AddTextbookWarehouseRecordDto;
 import com.xjrsoft.module.textbook.dto.TextbookWarehouseRecordPageDto;
@@ -30,6 +31,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
 import java.io.ByteArrayOutputStream;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -100,8 +102,9 @@ public class TextbookWarehouseRecordController {
     @ApiOperation(value = "导出")
     public ResponseEntity<byte[]> exportData(@Valid TextbookWarehouseRecordPageDto dto, @RequestParam(defaultValue = "false") Boolean isTemplate) {
         List<TextbookWarehouseRecordPageVo> customerList = isTemplate != null && isTemplate ? new ArrayList<>() : ((PageOutput<TextbookWarehouseRecordPageVo>) page(dto).getData()).getList();
+        List<TextbookWarehouseRecordExcelVo> dataList = BeanUtil.copyToList(customerList, TextbookWarehouseRecordExcelVo.class);
         ByteArrayOutputStream bot = new ByteArrayOutputStream();
-        EasyExcel.write(bot, TextbookWarehouseRecordPageVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(customerList);
+        EasyExcel.write(bot, TextbookWarehouseRecordExcelVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(dataList);
 
         return RT.fileStream(bot.toByteArray(), "TextbookClassWarehouse" + ExcelTypeEnum.XLSX.getValue());
     }

+ 87 - 0
src/main/java/com/xjrsoft/module/textbook/vo/TextbookWarehouseRecordExcelVo.java

@@ -0,0 +1,87 @@
+package com.xjrsoft.module.textbook.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+* @title: 教材入库分页列表出参
+* @Author szs
+* @Date: 2023-12-26
+* @Version 1.0
+*/
+@Data
+public class TextbookWarehouseRecordExcelVo {
+
+
+    /**
+    * 序号
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("序号")
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+
+    /**
+     * 来源
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("书号")
+    @ApiModelProperty("书号")
+    private String issn;
+
+    /**
+    * 书名
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("书名")
+    @ApiModelProperty("书名")
+    private String bookName;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("出版社")
+    @ApiModelProperty("出版社")
+    private String publishingHouse;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("作者(主编)")
+    @ApiModelProperty("作者(主编)")
+    private String editorInChief;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("学科组")
+    @ApiModelProperty("学科组")
+    private String groupName;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("对应课程")
+    @ApiModelProperty("对应课程")
+    private String courseName;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("类型")
+    @ApiModelProperty("类型")
+    private String textbookTypeCn;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("规格型号")
+    @ApiModelProperty("规格型号")
+    private String specificationsModels;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("入库人员")
+    @ApiModelProperty("入库人员")
+    private String warehouseUser;
+
+    /**
+    * 入库数量
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("入库数量")
+    @ApiModelProperty("入库数量")
+    private Integer warehouseNumber;
+
+
+
+}