From f5944470a9b0719d3f41d00279c0616901574317 Mon Sep 17 00:00:00 2001 From: darren Date: Sun, 9 Oct 2022 17:09:05 +0800 Subject: [PATCH 1/3] header columns can modify --- .../controller/ExportController.java | 15 ++++++++++ src/main/java/me/aboullaite/view/CsvView.java | 3 +- .../java/me/aboullaite/view/ExcelView.java | 24 ++++------------ src/main/java/me/aboullaite/view/PdfView.java | 28 ++++--------------- 4 files changed, 26 insertions(+), 44 deletions(-) diff --git a/src/main/java/me/aboullaite/controller/ExportController.java b/src/main/java/me/aboullaite/controller/ExportController.java index 64eb182..4551765 100644 --- a/src/main/java/me/aboullaite/controller/ExportController.java +++ b/src/main/java/me/aboullaite/controller/ExportController.java @@ -1,10 +1,17 @@ package me.aboullaite.controller; +import me.aboullaite.config.WebConfig; import me.aboullaite.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; +import org.springframework.web.accept.ContentNegotiationManager; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.servlet.ViewResolver; +import org.springframework.web.servlet.view.ContentNegotiatingViewResolver; + +import java.util.ArrayList; +import java.util.List; @Controller public class ExportController { @@ -12,6 +19,9 @@ public class ExportController { @Autowired private UserService userService; + @Autowired + private WebConfig webConfig; + /** * Handle request to download an Excel document */ @@ -19,6 +29,11 @@ public class ExportController { public String download(Model model) { model.addAttribute("users", userService.findAllUsers()); + String[] header = {"FirstName", "LastName", "LastName", "JobTitle", "Company", "Address", "City", "Country", + "PhoneNumber"}; + model.addAttribute("header",header); + + return ""; } diff --git a/src/main/java/me/aboullaite/view/CsvView.java b/src/main/java/me/aboullaite/view/CsvView.java index 1e353f6..90f3936 100644 --- a/src/main/java/me/aboullaite/view/CsvView.java +++ b/src/main/java/me/aboullaite/view/CsvView.java @@ -20,8 +20,7 @@ protected void buildCsvDocument(Map model, HttpServletRequest re response.setHeader("Content-Disposition", "attachment; filename=\"my-csv-file.csv\""); List users = (List) model.get("users"); - String[] header = {"FirstName", "LastName", "LastName", "JobTitle", "Company", "Address", "City", "Country", - "PhoneNumber"}; + String[] header = ( String[]) model.get("header"); ICsvBeanWriter csvWriter = new CsvBeanWriter(response.getWriter(), CsvPreference.STANDARD_PREFERENCE); diff --git a/src/main/java/me/aboullaite/view/ExcelView.java b/src/main/java/me/aboullaite/view/ExcelView.java index 3416fb9..6312f29 100644 --- a/src/main/java/me/aboullaite/view/ExcelView.java +++ b/src/main/java/me/aboullaite/view/ExcelView.java @@ -39,27 +39,13 @@ protected void buildExcelDocument(Map model, style.setFont(font); - // create header row Row header = sheet.createRow(0); - header.createCell(0).setCellValue("FirstName"); - header.getCell(0).setCellStyle(style); - header.createCell(1).setCellValue("LastName"); - header.getCell(1).setCellStyle(style); - header.createCell(2).setCellValue("Age"); - header.getCell(2).setCellStyle(style); - header.createCell(3).setCellValue("Job Title"); - header.getCell(3).setCellStyle(style); - header.createCell(4).setCellValue("Company"); - header.getCell(4).setCellStyle(style); - header.createCell(5).setCellValue("Address"); - header.getCell(5).setCellStyle(style); - header.createCell(6).setCellValue("City"); - header.getCell(6).setCellStyle(style); - header.createCell(7).setCellValue("Country"); - header.getCell(7).setCellStyle(style); - header.createCell(8).setCellValue("Phone Number"); - header.getCell(8).setCellStyle(style); + String[] headerFields = ( String[]) model.get("header"); + for (int i=0;i model, Document document, Pd cell.setBackgroundColor(BaseColor.DARK_GRAY); cell.setPadding(5); - // write table header - cell.setPhrase(new Phrase("First Name", font)); - table.addCell(cell); - cell.setPhrase(new Phrase("Last Name", font)); - table.addCell(cell); + String[] headerFields = ( String[]) model.get("header"); + for (int i=0;i Date: Sun, 9 Oct 2022 17:11:04 +0800 Subject: [PATCH 2/3] header columns can modify --- src/main/java/me/aboullaite/controller/ExportController.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/main/java/me/aboullaite/controller/ExportController.java b/src/main/java/me/aboullaite/controller/ExportController.java index 4551765..6f1ac39 100644 --- a/src/main/java/me/aboullaite/controller/ExportController.java +++ b/src/main/java/me/aboullaite/controller/ExportController.java @@ -5,13 +5,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; -import org.springframework.web.accept.ContentNegotiationManager; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.servlet.ViewResolver; -import org.springframework.web.servlet.view.ContentNegotiatingViewResolver; -import java.util.ArrayList; -import java.util.List; @Controller public class ExportController { From ef4204a4fccd36a122aee6fd47a02c30433bb102 Mon Sep 17 00:00:00 2001 From: darren Date: Sun, 9 Oct 2022 17:11:28 +0800 Subject: [PATCH 3/3] header columns can modify --- src/main/java/me/aboullaite/controller/ExportController.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/me/aboullaite/controller/ExportController.java b/src/main/java/me/aboullaite/controller/ExportController.java index 6f1ac39..e514966 100644 --- a/src/main/java/me/aboullaite/controller/ExportController.java +++ b/src/main/java/me/aboullaite/controller/ExportController.java @@ -1,6 +1,6 @@ package me.aboullaite.controller; -import me.aboullaite.config.WebConfig; + import me.aboullaite.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -14,8 +14,6 @@ public class ExportController { @Autowired private UserService userService; - @Autowired - private WebConfig webConfig; /** * Handle request to download an Excel document