티스토리 뷰

사람들은 엑셀을 좋아한다. 그래서 자바를 사용해 간단하게 엑셀에 쓰기를 살펴보겠다.

우선 아파치 poi api를 다운로드 받는다.

https://poi.apache.org/download.html


 

Apache POI - Download Release Artifacts

Apache POI - Download Release Artifacts Available Downloads This page provides instructions on how to download and verify the Apac

poi.apache.org

The latest stable release is Apache POI 4.1.2

17 February 2020 - POI 4.1.2 available

현재 최신 버전이네요.

www.apache.org/dyn/closer.lua/poi/release/bin/poi-bin-4.1.2-20200217.zip

다운받으면 

poi-bin-4.1.2-20200217.zip

파일이 생기고 압축을 풀면 다음과 같이 생긴다.

루트에 있는 jar만 이클립스에 build path에 추가했더니

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/math3/util/ArithmeticUtils
	at org.apache.poi.poifs.property.RootProperty.setSize(RootProperty.java:59)
	at org.apache.poi.poifs.property.DirectoryProperty.<init>(DirectoryProperty.java:52)
	at org.apache.poi.poifs.property.RootProperty.<init>(RootProperty.java:31)
	at org.apache.poi.poifs.property.PropertyTable.<init>(PropertyTable.java:58)
	at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:102)
	at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:124)
	at org.apache.poi.hssf.usermodel.HSSFWorkbook.write(HSSFWorkbook.java:1373)
	at bbc.Excel.main(Excel.java:22)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.math3.util.ArithmeticUtils
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	... 8 more

이런 에러가 났다.

lib 폴더에 있는 commons-math3-3.6.1.jar이 파일도 이클립스 build path에 추가해 줘야 했다.

package bbc;

import java.io.FileOutputStream;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class Excel {

	public static void main(String[] args) {
		
		@SuppressWarnings("resource")
		HSSFWorkbook workbook = new HSSFWorkbook();
		HSSFSheet sheet = workbook.createSheet("bbc");
		HSSFRow row = sheet.createRow(0);
		HSSFCell cell = row.createCell(0);
		cell.setCellValue("테스트");
		try {
			FileOutputStream fos = new FileOutputStream("bbc.xls");
			workbook.write(fos);
			fos.close();
			System.out.println("성공");
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
}

 

이렇게 하면 bbc.xls 파일이 생성된다.

다음글에서는 xlsx 확장자로 하는 방법을 살펴본다.




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함