├── .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 |
--------------------------------------------------------------------------------