티스토리 뷰

 

 

pom.xml에 dependency 추가하기

https://mvnrepository.com/artifact/org.apache.poi/poi/5.2.2

 

Maven Repository: org.apache.poi » poi » 5.2.2

Apache POI - Java API To Access Microsoft Format Files org.apache.poi poi 5.2.2 // https://mvnrepository.com/artifact/org.apache.poi/poi implementation group: 'org.apache.poi', name: 'poi', version: '5.2.2' // https://mvnrepository.com/artifact/org.apache.

mvnrepository.com

위의 경로에서 dependency 추가 코드가 나와있다

 

필자는 아래와 같이 추가하였다.

<!-- Apache POI -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.2.2</version>
</dependency>

<dependency>
     <groupId>org.apache.poi</groupId>
     <artifactId>poi-ooxml</artifactId>
     <version>5.2.2</version>
</dependency>

 

 

 

HSS와 XSSF 차이

두개 다 엑셀파일을 다루는 라이브러리이다.
HSSF는 오피스 구버전 .xls 확장자를 가지는 엑셀파일
XSSF는 상위버전에서 .xlsx 확장자를 가진 엑셀파일
XSSF가 더 많은 기능을 제공한다.

 

 

Error

https://wldnjd2.tistory.com/63

 

JAVA POI 라이브러리 사용 시 레코드 값 제거 에러해결

목표 자바 엑셀 POI라이브러리를 사용해서 기존에 있던 엑셀파일에 데이터를 넣는 작업을 하였다. 위의 이미지는 기존 엑셀 서식이고 D5~D10 위치에 랜덤값의 데이터를 넣으면 평균값이 찍히게 하

wldnjd2.tistory.com

 

 

 

 

전체코드
package excel_test.web;

import java.io.FileInputStream;

@Controller
public class formExcelController {
	/*
	 * 엑셀에 폼형태 유지하기
	 */
	@RequestMapping(value = "/formExcelFile.do")
	public void excel02() throws IOException{
			
			//엑셀 파일 경로
			String inputfileName = "C:\\input\\temp2.xlsx";
			String outputfileName = "C:\\output\\temp2.xlsx";
			
			//FileInputStream로 파일 읽어오기
			FileInputStream readfile = new FileInputStream(inputfileName);
			//Workbook 생성, xlsx 파일 read
			XSSFWorkbook xworkbook =  new XSSFWorkbook(readfile);
			//엑셀 파일의 시트 = 1번시트
			XSSFSheet xssfSheet = xworkbook.getSheetAt(0);
			
			//초기화
			XSSFRow xssfRow = null;
			XSSFCell xssfCell = null;
			
			//엑셀에 데이터 입력하기			
			for(int i=4; i<25; i++) {
				xssfSheet.getRow(i).getCell(3).setCellValue((int)(Math.random()*100));
			}
			
			//강제로 계산하게함
			xworkbook.setForceFormulaRecalculation(true);
			
//			//형변환
//			xssfRow = xssfSheet.createRow(4);
//			xssfCell = xssfRow.createCell(3);
//			xssfCell.setCellType(xssfCell.CELL_TYPE_NUMERIC);
//			xssfCell.setCellValue(100);
//			
			 
			//저장
			FileOutputStream makefile = new FileOutputStream(outputfileName);
			xworkbook.write(makefile);
			
			//종료
			readfile.close();			//FileInputStream
			makefile.close();			//FileOutputStream
			
	}
}

POI 라이브러리를 이용해서 엑셀 파일 만드는건 그렇게 어렵지 않다!

하지만 중간에 getCell VS createCell,  getRow VS createRow 를 구분 할 필요가 있다.!

 

 

Ref

https://good4uprin.tistory.com/35

 

[JAVA] EXCEL 파일 만들기

프로젝트 중에 엑셀 파일을 만들어야 할 일이 생겼다. 여담이지만 JAVASCRIPT로 프론트에서 만들려고 했는데... JS는 내가 못찾은 건지 ㅠㅠ 만족할 만한 엑셀 수준을 전혀 만들어주지 못했다.(테두

good4uprin.tistory.com

https://stratosphere.tistory.com/236

 

자바에서 엑셀 다루는 poi 사용하기 - 파일 만들기

5.0 기준 - mvnrepository.com/artifact/org.apache.poi/poi/5.0.0 둘중 하나 추가 후 개발 org.apache.poi poi 5.0.0 // https://mvnrepository.com/artifact/org.apache.poi/poi compile group: 'org.apache.poi..

stratosphere.tistory.com

https://alliwannado-start.tistory.com/15

 

[JAVA] 엑셀 파일(.xlsx) 쓰기 / 스타일 적용

▶ previous 1 POI 라이브러리 다운로드 & 프로젝트에 적용 2 엑셀파일(.xlsx) 읽어오기 & list에 저장 [ 엑셀파일(.xlsx) 쓰기(생성)/저장/스타일 적용 ] 1 Font (글꼴) XSSFFont Font = workbook.createFont();..

alliwannado-start.tistory.com

 

'JAVA' 카테고리의 다른 글

자바1.8, ORACLE 1.9c  (0) 2022.11.29
엑셀 다운로드 (AbstractXlsxView)  (0) 2022.09.08
JAVA POI 라이브러리 사용 시 레코드 값 제거 에러해결  (0) 2022.06.13
API Server Test 01 | postman 사용  (0) 2022.06.03
예외처리란  (0) 2022.04.22
댓글