Kaynağa Gözat

导入带图像

suntianwu 3 yıl önce
ebeveyn
işleme
cb4e73f70d

+ 2 - 1
src/main/java/com/iden/bms/controller/CameraController.java

@@ -194,7 +194,8 @@ public class CameraController {
             @ApiImplicitParam(paramType = "query", name = "type", value = "摄像头类型,1摄像机,2抓拍设备"),
     })
     @PostMapping(value = "/importWithExcel",  headers = "content-type=multipart/form-data")
-    public Result<Object> importWithExcel(  @RequestParam(value = "type", required = true) String type,
+    public Result<Object> importWithExcel(  @RequestHeader(name = "token") String token,
+                                            @RequestParam(value = "type", required = true) String type,
                                             @RequestParam(value = "file") MultipartFile multipartFile) {
         try {
             boolean flag = cameraService.importWithExcel(type,multipartFile);

+ 3 - 1
src/main/java/com/iden/bms/controller/CommunityController.java

@@ -126,7 +126,9 @@ public class CommunityController {
 
     @ApiOperation(value = "导入Excel")
     @PostMapping(value = "/importWithExcel",  headers = "content-type=multipart/form-data")
-    public Result<Object> importWithExcel(@RequestParam(value = "file") MultipartFile multipartFile) {
+    public Result<Object> importWithExcel(
+            @RequestHeader(name = "token") String token,
+            @RequestParam(value = "file") MultipartFile multipartFile) {
         try {
             boolean flag = communityService.importWithExcel(multipartFile);
             if(flag){

+ 2 - 1
src/main/java/com/iden/bms/controller/PersonController.java

@@ -159,7 +159,8 @@ public class PersonController {
 
     @ApiOperation(value = "导入Excel")
     @PostMapping(value = "/importWithExcel",  headers = "content-type=multipart/form-data")
-    public Result<Object> importWithExcel(@RequestParam(value = "file") MultipartFile multipartFile) {
+    public Result<Object> importWithExcel( @RequestHeader(name = "token") String token,
+                             @RequestParam(value = "file") MultipartFile multipartFile) {
         try {
             personService.importWithExcel(multipartFile);
             return  Result.success("导入成功!");

+ 2 - 1
src/main/java/com/iden/bms/service/PersonService.java

@@ -17,6 +17,7 @@ import com.iden.common.enums.CredentialsTypeEnum;
 import com.iden.common.enums.GenderEnum;
 import com.iden.common.enums.PersonTypeEnum;
 import com.iden.common.enums.PopulationTypeEnum;
+import com.iden.common.exceltool.RowWriteHandler;
 import com.iden.common.exception.BDException;
 import com.iden.common.service.IdenCommunityService;
 import com.iden.common.service.IdenCrowdService;
@@ -254,7 +255,7 @@ public class PersonService {
             final String fileName = URLEncoder.encode("人员表", "UTF-8");
             response.setHeader("Content-disposition", "attachment;filename=" + fileName + System.currentTimeMillis() + ".xlsx");
 
-            EasyExcel.write(response.getOutputStream(), PersonExcelVO.class).sheet("人员表").doWrite(records);
+            EasyExcel.write(response.getOutputStream(), PersonExcelVO.class).sheet("人员表").registerWriteHandler(new RowWriteHandler()).doWrite(records);
 
         } catch (Exception e) {
             e.printStackTrace();

+ 45 - 0
src/main/java/com/iden/common/exceltool/RowWriteHandler.java

@@ -0,0 +1,45 @@
+package com.iden.common.exceltool;
+
+import com.alibaba.excel.metadata.CellData;
+import com.alibaba.excel.metadata.Head;
+import com.alibaba.excel.write.handler.CellWriteHandler;
+import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
+import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
+import org.apache.poi.ss.usermodel.*;
+
+import java.util.List;
+
+/**
+ * @author jamin
+ * @date 2020/7/29 15:18
+ */
+public class RowWriteHandler implements CellWriteHandler {
+
+
+    @Override
+    public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Head head, Integer integer, Integer integer1, Boolean aBoolean) {
+
+    }
+
+    @Override
+    public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Cell cell, Head head, Integer integer, Boolean aBoolean) {
+        //设置单元格格式为文本
+        Workbook workbook = writeSheetHolder.getSheet().getWorkbook();
+        CellStyle cellStyle = workbook.createCellStyle();
+        DataFormat dataFormat = workbook.createDataFormat();
+        cellStyle.setDataFormat(dataFormat.getFormat("@"));
+        cell.setCellStyle(cellStyle);
+
+    }
+
+    //加@Override会报错
+    public void afterCellDataConverted(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, CellData cellData, Cell cell, Head head, Integer integer, Boolean aBoolean) {
+
+    }
+
+    @Override
+    public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, List<CellData> list, Cell cell, Head head, Integer integer, Boolean aBoolean) {
+
+    }
+}
+

+ 3 - 0
src/main/java/com/iden/common/vo/PersonExcelVO.java

@@ -3,11 +3,14 @@ package com.iden.common.vo;
 
 import com.alibaba.excel.annotation.ExcelProperty;
 
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
 import com.alibaba.excel.converters.url.UrlImageConverter;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.apache.poi.ss.usermodel.FillPatternType;
 
 import java.io.Serializable;
 import java.net.URL;