licailing 4 anni fa
parent
commit
bcf9b2e5a1

+ 16 - 0
src/main/java/com/izouma/wenlvju/utils/excel/ExcelUtils.java

@@ -38,6 +38,22 @@ public class ExcelUtils<T> {
                 .doWrite(data);
                 .doWrite(data);
     }
     }
 
 
+    public static void export1(HttpServletResponse response, Class<?> clazz) throws IOException {
+        String fileName = clazz.getSimpleName() + ".xlsx";
+        ApiModel apiModel = clazz.getAnnotation(ApiModel.class);
+        if (apiModel != null) {
+            if (StringUtils.isNotEmpty(apiModel.value())) {
+                fileName = apiModel.value() + ".xlsx";
+            }
+        }
+
+        response.setContentType("application/vnd.ms-excel");
+        response.setCharacterEncoding("utf-8");
+        response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
+        EasyExcel.write(response.getOutputStream(), clazz).sheet("sheet")
+                .doWrite(null);
+    }
+
     /**
     /**
      * 从Excel中读取文件,读取的文件是一个DTO类,该类必须继承BaseRowModel
      * 从Excel中读取文件,读取的文件是一个DTO类,该类必须继承BaseRowModel
      * 具体实例参考 : MemberMarketDto.java
      * 具体实例参考 : MemberMarketDto.java

+ 3 - 6
src/main/java/com/izouma/wenlvju/web/performance/ProgrammeController.java

@@ -73,12 +73,9 @@ public class ProgrammeController extends BaseController {
     }
     }
 
 
     @GetMapping(value = "/excelTemp", produces = "application/vnd.ms-excel;charset=utf-8")
     @GetMapping(value = "/excelTemp", produces = "application/vnd.ms-excel;charset=utf-8")
-    public void excelTemp(HttpServletResponse response) {
-        try {
-            programmeService.excelTemp(response);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
+    public void excelTemp(HttpServletResponse response) throws IOException {
+        ExcelUtils.export1(response, ProgrammeDTO.class);
+//        programmeService.excelTemp(response);
     }
     }
 
 
     @PostMapping("/upload")
     @PostMapping("/upload")

+ 1 - 1
src/main/vue/src/views/performance/PerformanceEdit.vue

@@ -309,7 +309,7 @@ export default {
                 .catch(e => {});
                 .catch(e => {});
         },
         },
         getName(value) {
         getName(value) {
-            this.formData.name = value + '“宁艺之星”社会艺术水平考级展演';
+            this.formData.name = value + '“宁艺之星”社会艺术水平考级展演(览)';
         }
         }
     }
     }
 };
 };

+ 4 - 3
src/main/vue/src/views/performance/ProgrammeOrgList.vue

@@ -525,14 +525,15 @@ export default {
         },
         },
         downloadTemp() {
         downloadTemp() {
             this.$axios
             this.$axios
-                .get('/programme/excelTemp')
+                .get('/programme/excelTemp', {
+                    responseType: 'blob'
+                })
                 .then(res => {
                 .then(res => {
-                    console.log(res);
                     this.downloading = false;
                     this.downloading = false;
                     const downloadUrl = window.URL.createObjectURL(new Blob([res.data]));
                     const downloadUrl = window.URL.createObjectURL(new Blob([res.data]));
                     const link = document.createElement('a');
                     const link = document.createElement('a');
                     link.href = downloadUrl;
                     link.href = downloadUrl;
-                    link.setAttribute('download', '模板.xlsx');
+                    link.setAttribute('download', res.headers['content-disposition'].split('filename=')[1]);
                     document.body.appendChild(link);
                     document.body.appendChild(link);
                     link.click();
                     link.click();
                     link.remove();
                     link.remove();