본문 바로가기
Java/POI

POI #2 [HSSFWorkbook - write & read]

by Lee David 2020. 6. 30.
반응형

HSSFWorkbook

이번엔 POIFSFileSystem에 이어 HSSFWorkbook을 선언하고 OLE 포맷 엑셀을 만들어 보겠습니다.

OutputStream outputStream = new FileOutputStream(파일);
HSSFWorkbook workbook = new HSSFWorkbook();

//엑셀 시트를 의미 합니다.
HSSFSheet sheet = workbook.createSheet("Ole");
//엑셀 한 줄을 의미 합니다.
HSSFRow row = sheet.createRow(0);
//엑셀 내용이 입력되는 한칸을 의미합니다.
HSSFCell cell1 = row.createCell(0);
HSSFCell cell2 = row.createCell(1);

cell1.setCellValue("Hello");
cell2.setCellValue("Mexico");

workbook.write(outputStream);

위에서 엑셀에 값을 대입할때 순서를 설명 하자면

  • HSSFWorkbook 선언 > sheet 생성 > row 생성 > cell 생성 및 데이터 입력

위의 코드 결과 입니다.

위와 같은 결과를 바탕으로 여러가지 응용이 가능합니다.

 

그럼 이번엔 다시 읽어 들여 보겠습니다.

File file = new File(엑셀 파일);
InputStream inputStream = new FileInputStream(file);
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(inputStream);

//첫번째 시트를 읽어 들입니다.
HSSFSheet sheet = hssfWorkbook.getSheetAt(0);

//첫번째 줄을 읽어 들입니다.
HSSFRow row = sheet.getRow(0);

//첫번째 줄의 첫번째 칸을 읽어 들입니다.
HSSFCell cell1 = row.getCell(0);
//첫번째 줄의 두번째 칸을 읽어 들입니다.
HSSFCell cell2 = row.getCell(1);

//칸에 적용된 값들을 읽어 들입니다.
System.out.println(cell1.getStringCellValue());
System.out.println(cell2.getStringCellValue());

이번에 코드를 동작시키시면 위에 엑셀을 썻을때 내용을 다시 읽어 들일수 있습니다.

 

여러가지 응용이 가능한 HSSFWorkbook 예제 코드였습니다.

 

poi 버전

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.1</version>
</dependency>
반응형

'Java > POI' 카테고리의 다른 글

POI #3 [XSSFWorkbook - Memory Leak]  (0) 2020.07.10
POI #1 [ POIFSFileSystem vs OPCPackage ]  (0) 2020.06.29
POI #0  (0) 2020.06.26