├── .gitignore ├── README.md ├── pom.xml └── src └── main └── java └── org └── gongxuanzhang └── supportdemo ├── DemoData.java └── DemoMain.java /.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # support-demo 2 | some demo to help people 3 | 4 | 这个项目每个分支都是给一个同学写的一个demo 5 | main分支没有什么卵用 6 | 每个同学自取对应代码即可 7 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.springframework.boot 7 | spring-boot-starter-parent 8 | 2.7.8 9 | 10 | 11 | org.gongxuanzhang 12 | support-demo 13 | 0.0.1-SNAPSHOT 14 | support-demo 15 | support-demo 16 | 17 | 1.8 18 | 19 | 20 | 21 | com.alibaba 22 | easyexcel 23 | 3.2.0 24 | 25 | 26 | org.projectlombok 27 | lombok 28 | 29 | 30 | ch.qos.logback 31 | logback-classic 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /src/main/java/org/gongxuanzhang/supportdemo/DemoData.java: -------------------------------------------------------------------------------- 1 | package org.gongxuanzhang.supportdemo; 2 | 3 | import com.alibaba.excel.annotation.ExcelProperty; 4 | import lombok.Data; 5 | 6 | import java.util.Date; 7 | 8 | /** 9 | * 基础数据类 10 | * 11 | * @author gongxuanzhang 12 | **/ 13 | @Data 14 | public class DemoData { 15 | @ExcelProperty("字符串标题") 16 | private String string; 17 | @ExcelProperty("日期标题") 18 | private Date date; 19 | @ExcelProperty("数字标题") 20 | private Double doubleData; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/gongxuanzhang/supportdemo/DemoMain.java: -------------------------------------------------------------------------------- 1 | package org.gongxuanzhang.supportdemo; 2 | 3 | import com.alibaba.excel.EasyExcel; 4 | import com.alibaba.excel.metadata.Head; 5 | import com.alibaba.excel.metadata.data.WriteCellData; 6 | import com.alibaba.excel.util.ListUtils; 7 | import com.alibaba.excel.write.handler.CellWriteHandler; 8 | import com.alibaba.excel.write.handler.SheetWriteHandler; 9 | import com.alibaba.excel.write.handler.context.CellWriteHandlerContext; 10 | import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; 11 | import com.alibaba.excel.write.metadata.holder.WriteTableHolder; 12 | import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder; 13 | import org.apache.poi.ss.usermodel.Cell; 14 | 15 | import java.util.Date; 16 | import java.util.List; 17 | 18 | /** 19 | * @author gxz gongxuanzhangmelt@gmail.com 20 | **/ 21 | public class DemoMain { 22 | 23 | public static void main(String[] args) { 24 | String fileName = "export.xlsx"; 25 | EasyExcel.write(fileName).sheet("模板").registerWriteHandler(new SheetWriteHandler() { 26 | @Override 27 | public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) { 28 | writeSheetHolder.getSheet().protectSheet("password"); 29 | } 30 | }).registerWriteHandler(new CellWriteHandler() { 31 | @Override 32 | public void afterCellDispose(CellWriteHandlerContext context) { 33 | context.getCell().getCellStyle().setLocked(true); 34 | } 35 | }).doWrite(data()); 36 | } 37 | 38 | private static List data() { 39 | List list = ListUtils.newArrayList(); 40 | for (int i = 0; i < 10; i++) { 41 | DemoData data = new DemoData(); 42 | data.setString("字符串" + i); 43 | data.setDate(new Date()); 44 | data.setDoubleData(0.56); 45 | list.add(data); 46 | } 47 | return list; 48 | } 49 | 50 | } 51 | --------------------------------------------------------------------------------