TestExcelController.java 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.ruoyi.demo.controller;
  2. import cn.hutool.core.collection.CollUtil;
  3. import com.ruoyi.common.excel.utils.ExcelUtil;
  4. import lombok.AllArgsConstructor;
  5. import lombok.Data;
  6. import org.springframework.web.bind.annotation.GetMapping;
  7. import org.springframework.web.bind.annotation.RequestMapping;
  8. import org.springframework.web.bind.annotation.RestController;
  9. import jakarta.servlet.http.HttpServletResponse;
  10. import java.util.ArrayList;
  11. import java.util.HashMap;
  12. import java.util.List;
  13. import java.util.Map;
  14. /**
  15. * 测试Excel功能
  16. *
  17. * @author Lion Li
  18. */
  19. @RestController
  20. @RequestMapping("/demo/excel")
  21. public class TestExcelController {
  22. /**
  23. * 单列表多数据
  24. */
  25. @GetMapping("/exportTemplateOne")
  26. public void exportTemplateOne(HttpServletResponse response) {
  27. Map<String, String> map = new HashMap<>();
  28. map.put("title", "单列表多数据");
  29. map.put("test1", "数据测试1");
  30. map.put("test2", "数据测试2");
  31. map.put("test3", "数据测试3");
  32. map.put("test4", "数据测试4");
  33. map.put("testTest", "666");
  34. List<TestObj> list = new ArrayList<>();
  35. list.add(new TestObj("单列表测试1", "列表测试1", "列表测试2", "列表测试3", "列表测试4"));
  36. list.add(new TestObj("单列表测试2", "列表测试5", "列表测试6", "列表测试7", "列表测试8"));
  37. list.add(new TestObj("单列表测试3", "列表测试9", "列表测试10", "列表测试11", "列表测试12"));
  38. ExcelUtil.exportTemplate(CollUtil.newArrayList(map, list), "单列表.xlsx", "excel/单列表.xlsx", response);
  39. }
  40. /**
  41. * 多列表多数据
  42. */
  43. @GetMapping("/exportTemplateMuliti")
  44. public void exportTemplateMuliti(HttpServletResponse response) {
  45. Map<String, String> map = new HashMap<>();
  46. map.put("title1", "标题1");
  47. map.put("title2", "标题2");
  48. map.put("title3", "标题3");
  49. map.put("title4", "标题4");
  50. map.put("author", "Lion Li");
  51. List<TestObj1> list1 = new ArrayList<>();
  52. list1.add(new TestObj1("list1测试1", "list1测试2", "list1测试3"));
  53. list1.add(new TestObj1("list1测试4", "list1测试5", "list1测试6"));
  54. list1.add(new TestObj1("list1测试7", "list1测试8", "list1测试9"));
  55. List<TestObj1> list2 = new ArrayList<>();
  56. list2.add(new TestObj1("list2测试1", "list2测试2", "list2测试3"));
  57. list2.add(new TestObj1("list2测试4", "list2测试5", "list2测试6"));
  58. List<TestObj1> list3 = new ArrayList<>();
  59. list3.add(new TestObj1("list3测试1", "list3测试2", "list3测试3"));
  60. List<TestObj1> list4 = new ArrayList<>();
  61. list4.add(new TestObj1("list4测试1", "list4测试2", "list4测试3"));
  62. list4.add(new TestObj1("list4测试4", "list4测试5", "list4测试6"));
  63. list4.add(new TestObj1("list4测试7", "list4测试8", "list4测试9"));
  64. list4.add(new TestObj1("list4测试10", "list4测试11", "list4测试12"));
  65. Map<String, Object> multiListMap = new HashMap<>();
  66. multiListMap.put("map", map);
  67. multiListMap.put("data1", list1);
  68. multiListMap.put("data2", list2);
  69. multiListMap.put("data3", list3);
  70. multiListMap.put("data4", list4);
  71. ExcelUtil.exportTemplateMultiList(multiListMap, "多列表.xlsx", "excel/多列表.xlsx", response);
  72. }
  73. @Data
  74. @AllArgsConstructor
  75. static class TestObj1 {
  76. private String test1;
  77. private String test2;
  78. private String test3;
  79. }
  80. @Data
  81. @AllArgsConstructor
  82. static class TestObj {
  83. private String name;
  84. private String list1;
  85. private String list2;
  86. private String list3;
  87. private String list4;
  88. }
  89. }