Skip to content

Commit 26ee50c

Browse files
author
bnitech
committed
Build By ExcelDto
1 parent f14f506 commit 26ee50c

File tree

11 files changed

+357
-228
lines changed

11 files changed

+357
-228
lines changed

src/main/java/com/bnitech/study/demo/controller/CarController.java

Lines changed: 181 additions & 191 deletions
Large diffs are not rendered by default.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.bnitech.study.demo.dto;
2+
3+
import com.github.ckpoint.toexcel.annotation.ExcelHeader;
4+
import lombok.Getter;
5+
import lombok.NoArgsConstructor;
6+
import lombok.Setter;
7+
import lombok.ToString;
8+
9+
import java.util.List;
10+
11+
@Getter
12+
@Setter
13+
@NoArgsConstructor
14+
@ToString
15+
public class BigCarExcelDto extends CarExcelDto {
16+
17+
@ExcelHeader(headerName = "BIG")
18+
private String company; // 회사
19+
20+
@ExcelHeader(headerName = "BIG")
21+
private String name; // 차종
22+
23+
@ExcelHeader(headerName = "BIG")
24+
private int price; // 가격
25+
26+
@ExcelHeader(headerName = "BIG")
27+
private double rating; // 평점
28+
29+
private List<UserDto> userList;
30+
31+
@Override
32+
public void setExcelHeader(com.bnitech.study.demo.module.ExcelHeader excelHeader) {
33+
this.excelHeader = excelHeader;
34+
}
35+
36+
@Override
37+
public int getExcelValue() {
38+
return 919191919;
39+
}
40+
}
Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,24 @@
11
package com.bnitech.study.demo.dto;
22

3+
import com.bnitech.study.demo.module.dto.ExcelDto;
34
import com.github.ckpoint.toexcel.annotation.ExcelHeader;
4-
import lombok.Getter;
5-
import lombok.NoArgsConstructor;
6-
import lombok.Setter;
7-
import lombok.ToString;
5+
import lombok.*;
86

97
import java.util.List;
108

119
@Getter
1210
@Setter
1311
@NoArgsConstructor
12+
@AllArgsConstructor
1413
@ToString
15-
public class CarExcelDto {
14+
public class CarExcelDto extends ExcelDto {
1615

1716
@ExcelHeader(headerName = "회사")
1817
private String company; // 회사
1918

2019
@ExcelHeader(headerName = "차종")
2120
private String name; // 차종
2221

23-
@ExcelHeader(headerName = "")
24-
private Boolean blank = null; // 공백
25-
2622
@ExcelHeader(headerName = "가격")
2723
private int price; // 가격
2824

@@ -31,11 +27,13 @@ public class CarExcelDto {
3127

3228
private List<UserDto> userList;
3329

34-
public CarExcelDto(String company, String name, int price, double rating, List<UserDto> userList) {
35-
this.company = company;
36-
this.name = name;
37-
this.price = price;
38-
this.rating = rating;
39-
this.userList = userList;
30+
@Override
31+
public void setExcelHeader(com.bnitech.study.demo.module.ExcelHeader excelHeader) {
32+
this.excelHeader = excelHeader;
33+
}
34+
35+
@Override
36+
public int getExcelValue() {
37+
return 0;
4038
}
4139
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.bnitech.study.demo.dto;
2+
3+
import com.github.ckpoint.toexcel.annotation.ExcelHeader;
4+
import lombok.Getter;
5+
import lombok.NoArgsConstructor;
6+
import lombok.Setter;
7+
import lombok.ToString;
8+
9+
import java.util.List;
10+
11+
@Getter
12+
@Setter
13+
@NoArgsConstructor
14+
@ToString
15+
public class TinyCarExcelDto extends CarExcelDto {
16+
17+
@ExcelHeader(headerName = "TINY")
18+
private String company; // 회사
19+
20+
@ExcelHeader(headerName = "TINY")
21+
private String name; // 차종
22+
23+
@ExcelHeader(headerName = "TINY")
24+
private int price; // 가격
25+
26+
@ExcelHeader(headerName = "TINY")
27+
private double rating; // 평점
28+
29+
private List<UserDto> userList;
30+
31+
@Override
32+
public void setExcelHeader(com.bnitech.study.demo.module.ExcelHeader excelHeader) {
33+
this.excelHeader = excelHeader;
34+
}
35+
36+
@Override
37+
public int getExcelValue() {
38+
return 10;
39+
}
40+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.bnitech.study.demo.module;
2+
3+
import com.bnitech.study.demo.module.enumeration.ExcelHeaderType;
4+
import lombok.AllArgsConstructor;
5+
import lombok.Getter;
6+
import lombok.Setter;
7+
8+
import static com.bnitech.study.demo.module.enumeration.ExcelHeaderType.DEFAULT_HEADER;
9+
10+
@Getter
11+
@Setter
12+
@AllArgsConstructor
13+
public class ExcelHeader {
14+
private ExcelHeaderType headerType = DEFAULT_HEADER;
15+
private String headerTitle;
16+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.bnitech.study.demo.module.dto;
2+
3+
import com.bnitech.study.demo.module.ExcelHeader;
4+
5+
public abstract class ExcelDto {
6+
7+
protected ExcelHeader excelHeader;
8+
9+
abstract protected void setExcelHeader(ExcelHeader excelHeader);
10+
11+
abstract protected int getExcelValue();
12+
}
13+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.bnitech.study.demo.module.enumeration;
2+
3+
public enum ExcelCellSize {
4+
TINY, NORMAL, BIG;
5+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.bnitech.study.demo.module.enumeration;
2+
3+
import org.apache.poi.ss.usermodel.CellType;
4+
5+
import java.awt.*;
6+
7+
import static com.bnitech.study.demo.module.enumeration.ExcelCellSize.NORMAL;
8+
import static com.bnitech.study.demo.module.enumeration.ExcelCellSize.TINY;
9+
import static java.awt.Color.*;
10+
import static org.apache.poi.ss.usermodel.CellType.STRING;
11+
12+
public enum ExcelHeaderType {
13+
DEFAULT_HEADER(BLACK, STRING, NORMAL),
14+
HIDE_HEADER(GRAY, STRING, TINY),
15+
IMPORTANT_VALUE(RED, STRING, NORMAL);
16+
17+
private Color cellColor;
18+
private CellType dataType;
19+
private ExcelCellSize cellSize;
20+
21+
ExcelHeaderType(Color cellColor, CellType dataType, ExcelCellSize cellSize) {
22+
this.cellColor = cellColor;
23+
this.dataType = dataType;
24+
this.cellSize = cellSize;
25+
}
26+
}
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
package com.bnitech.study.demo.service;
22

3-
import java.util.List;
4-
53
import com.bnitech.study.demo.dto.CarExcelDto;
64

5+
import java.util.List;
6+
77
public interface ICarService {
8-
List<CarExcelDto> getCarInfo();
8+
List<CarExcelDto> getCarInfo();
9+
910
void setCarInfo(CarExcelDto carExcelDto, long carId);
1011
}

src/main/java/com/bnitech/study/demo/service/impl/CarService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ public List<CarExcelDto> getCarInfo() {
5050
return carExcelDtoList;
5151
}
5252

53+
@Override
5354
public void setCarInfo(CarExcelDto carExcelDto, long carId) {
5455
Car carInfo = new Car();
5556
carInfo.setId(carId);

0 commit comments

Comments
 (0)