1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package com.idea.ifpug.excel;
- import com.alibaba.excel.EasyExcel;
- import com.alibaba.excel.ExcelWriter;
- import com.alibaba.excel.write.metadata.WriteSheet;
- import com.alibaba.excel.write.metadata.fill.FillConfig;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.OutputStream;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- public class TestExcel {
- // private String template = "E:\\data\\excelTemplate.xlsx";
- public ExcelWriter getExcelWriter(OutputStream outputStream, String template){
- return EasyExcel.write(outputStream).withTemplate(template).build();
- }
- public WriteSheet getWriteSheet(Integer sheetIndex, String sheetName){
- return EasyExcel.writerSheet(sheetIndex, sheetName).build();
- }
- public void fillMap(ExcelWriter excelWriter, Map map, WriteSheet writeSheet){
- excelWriter.fill(map, writeSheet);
- }
- public void fillListr(ExcelWriter excelWriter, List list, WriteSheet writeSheet){
- FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
- excelWriter.fill(list, fillConfig, writeSheet);
- }
- public void clse(ExcelWriter excelWriter){
- excelWriter.finish();
- excelWriter.close();
- }
- public static void test(Map map, List list) {
- String template = "E:\\data\\excelTemplate.xlsx";
- String fileName = "E:\\data\\test.xlsx";
- try (ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(template).build()) {
- // 去调用写入,这里我调用了五次,实际使用时根据数据库分页的总的页数来。这里最终会写到5个sheet里面
- for (int i = 0; i < 1; i++) {
- // 每次都要创建writeSheet 这里注意必须指定sheetNo 而且sheetName必须不一样。
- // 实际上可以一直变
- WriteSheet writeSheet1 = EasyExcel.writerSheet(0, "sheet1").build();
- // 分页去数据库查询数据 这里可以去数据库查询每一页的数据
- // Map<String, Object> maps = MapUtils.newHashMap();
- // maps.put("code", "8888");
- // maps.put("leader", "测试用户");
- // maps.put("endTime", "2023-10-10 09:51:32");
- // maps.put("reportNo", "123456789");
- excelWriter.fill(map, writeSheet1);
- FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
- excelWriter.fill(list, fillConfig, writeSheet1);
- // WriteSheet writeSheet2 = EasyExcel.writerSheet(1, "sheet2").build();
- // FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
- // excelWriter.fill(list, fillConfig, writeSheet2);
- //// Map<String, Object> map = MapUtils.newHashMap();
- //// map.put("reportNo", "8888");
- // excelWriter.fill(map, writeSheet2);
- }
- }
- }
- public static void main(String[] args) throws IOException {
- Map<String, String> map = new HashMap<>();
- map.put("date", "2023-01-03");
- map.put("someone", "测试人");
- List<test> list = new ArrayList<>();
- list.add(new test("ren1", "18888888888", "串串"));
- list.add(new test("ren2", "18888888888", "串串"));
- list.add(new test("ren3", "18888888888", "串串"));
- test(map, list);
- }
- }
|