반응형
poi 라이브러리를 이용하여 간단한 엑셀 다운로드 프로그램을 만들어 보겠습니다.
poi 라이브러리에 대한 설명은 아래의 링크를 참조해 주세요.
pom.xml 설정
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.7</version>
</dependency>
소스
소스의 대한 설명은 주석으로 대신 하겠습니다.
import java.awt.Color;
import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFColor;
import org.apache.poi.xssf.usermodel.XSSFFont;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelDownTest {
public static void main(String[] args) throws Exception{
// .xls 확장자 지원
// HSSFWorkbook hssWb = null;
// HSSFSheet hssSheet = null;
// Row hssRow = null;
// Cell hssCell = null;
//.xlsx 확장자 지원
XSSFWorkbook xssfWb = null;
XSSFSheet xssfSheet = null;
XSSFRow xssfRow = null;
XSSFCell xssfCell = null;
try {
int rowNo = 0; // 행의 갯수
xssfWb = new XSSFWorkbook(); //XSSFWorkbook 객체 생성
xssfSheet = xssfWb.createSheet("워크 시트1"); // 워크시트 이름 설정
// 폰트 스타일
XSSFFont font = xssfWb.createFont();
font.setFontName(HSSFFont.FONT_ARIAL); // 폰트 스타일
font.setFontHeightInPoints((short)20); // 폰트 크기
font.setBold(true); // Bold 설정
font.setColor(new XSSFColor(Color.decode("#457ba2"))); // 폰트 색 지정
//테이블 셀 스타일
CellStyle cellStyle = xssfWb.createCellStyle();
xssfSheet.setColumnWidth(0, (xssfSheet.getColumnWidth(0))+(short)2048); // 0번째 컬럼 넓이 조절
cellStyle.setFont(font); // cellStyle에 font를 적용
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 정렬
//셀병합
xssfSheet.addMergedRegion(new CellRangeAddress(0, 1, 0, 4)); //첫행, 마지막행, 첫열, 마지막열 병합
// 타이틀 생성
xssfRow = xssfSheet.createRow(rowNo++); // 행 객체 추가
xssfCell = xssfRow.createCell((short) 0); // 추가한 행에 셀 객체 추가
xssfCell.setCellStyle(cellStyle); // 셀에 스타일 지정
xssfCell.setCellValue("타이틀 입니다"); // 데이터 입력
xssfSheet.createRow(rowNo++);
xssfRow = xssfSheet.createRow(rowNo++); // 빈행 추가
//테이블 스타일 설정
CellStyle tableCellStyle = xssfWb.createCellStyle();
tableCellStyle.setBorderTop((short) 5); // 테두리 위쪽
tableCellStyle.setBorderBottom((short) 5); // 테두리 아래쪽
tableCellStyle.setBorderLeft((short) 5); // 테두리 왼쪽
tableCellStyle.setBorderRight((short) 5); // 테두리 오른쪽
xssfRow = xssfSheet.createRow(rowNo++);
xssfCell = xssfRow.createCell((short) 0);
xssfCell.setCellStyle(tableCellStyle);
xssfCell.setCellValue("셀1");
xssfCell = xssfRow.createCell((short) 1);
xssfCell.setCellStyle(tableCellStyle);
xssfCell.setCellValue("셀2");
xssfCell = xssfRow.createCell((short) 2);
xssfCell.setCellStyle(tableCellStyle);
xssfCell.setCellValue("셀3");
xssfCell = xssfRow.createCell((short) 3);
xssfCell.setCellStyle(tableCellStyle);
xssfCell.setCellValue("셀4");
xssfCell = xssfRow.createCell((short) 4);
xssfCell.setCellStyle(tableCellStyle);
String localFile = "/Users/hihi/" + "excelDownTest" + ".xlsx";
File file = new File(localFile);
FileOutputStream fos = null;
fos = new FileOutputStream(file);
xssfWb.write(fos);
if (fos != null) fos.close();
}catch(Exception e){
}
}
}
결과
아래의 링크는 poi 라이브러리를 이용하여 엑셀 읽기 예제입니다.
'개발언어 > JAVA' 카테고리의 다른 글
[JAVA] 자바 스윙( Swing ) / JFileChooser 예제 (0) | 2020.10.05 |
---|---|
[JAVA] 자바 POI 를 이용하여 엑셀 파일 읽기/ POI 라이브러리 사용법 (0) | 2020.10.03 |
[JAVA] 자바 POI 라이브러리 다운로드 방법/ 엑셀 다운로드 방법 (1) | 2020.10.01 |
[JAVA] 자바 날짜 포맷 변경 방법(SimpleDateFormat) yyyyMMdd (1) | 2020.08.06 |
[JAVA] 람다식(Lambda Expressions)이란? 사용방법 & 장단점 (0) | 2020.08.04 |
댓글