티스토리 뷰
예전에 Apache Poi를 활용해서 엑셀에 이미지를 출력할 때, 적용 했던 방법은 직접 column과 row크기를 바꾸고, 이미지 크기를 하드코딩에서 맞추어서 넣는 형식이었습니다.
하지만, apache poi 예제를 잘 살펴보시면 제공하는 java 파일중에
요게 있는데요.
요걸 잘 활용해서, 사이즈를 입력하면 Cell의 크기와 이미지 크기에 맞게 조정을 해줍니다.
옵션은 4개가 있네요.
옵션 |
설명 |
EXPAND_ROW |
이미지 높이에 맞게 Cell의 Row(Height) 높이를 변경 |
EXPAND_COLUMN |
이미지 너비에 맞게 Cell의 Column(Width) 너비를 변경 |
EXPAND_ROW_AND_COLUMN |
이미지 높이와 너비에 맞게 Cell 크기를 변경 |
OVERLAY_ROW_AND_COLUMN |
Cell크기 변경 없이 이미지 크기 대로 덮어서 보이도록 설정 |
해당 자바 파일을 Import 해주고요~
Spring 에서 Excel 파일 출력하는 예제는 많이 있습니다.
AbstractView 또는 AbstractExcelView 등을 상속받아서 오버라이드 되는 메소드를 구현하면 됩니다.
1 2 3 4 5 | new AddDimensionedImage().addImageToSheet( colNumber, rowNumber, sheet, sheet.createDrawingPatriarch(), imageURL, width, height, AddDimensionedImage.EXPAND_ROW_AND_COLUMN); | cs |
원하는 엑셀에서의 Col과 Row 번호를 입력하고, 물론 다 숫자겟죠
엑셀에서 A1 = 0, 0 이런식으로 생각하시면 됩니다.
링크의 소스에서 엑셀에 이미지를 추가하는 method 를 보면 실제로는 이미지 URL을 전달해서 실제 파일을 읽어들여서 처리하게끔 되어 있는데요.
저는 필요에 따라 오버로딩 해서 byte[]형태의 이미지를 파라미터로 받게 변경을 했고, 이를 jpeg 고정 타입으로 이미지가 추가되도록 했습니다.
이미지 MimeType 필요하면, 필요에 따라 형태를 변경해서 사용하면 될 것 같네요.
'생활코딩 > Spring' 카테고리의 다른 글
Summernote 이미지 업로드 예제 (4) | 2016.09.21 |
---|---|
이클립스 플러그인 소개 MyBatipse (3) | 2016.05.03 |
자바(JAVA) 파일(미디어파일) 처리(다운로드, 동영상, 이미지 등) 라이브러리 (6) | 2016.05.02 |
스프링 부트(Spring Boot)에서 비동기(Async)로 다른 메소드 실행하기 (0) | 2016.04.29 |
RollingFileAppender 활용, 로그 이름 변경이 가능하도록 작성하기 (0) | 2016.03.10 |
- Total
- Today
- Yesterday
- 스프링 부트
- java
- Excel
- learning javascript
- 브라우저 콘솔
- Spring
- @Temporal
- @Access
- spring jpa
- 오프라인 확인
- bootstrap
- offline.js
- jQuery 삽입
- telegram bot
- jsonify
- mybatipse
- static resources
- 초대장
- 쿼리 로그
- 자바스크립트
- AOP
- WYSIWYG
- 정적 파일
- GO1104 LED
- 한성키보드
- Spring Boot
- summernote
- RollingFileAppender
- AngularJS
- log4jdbc
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |