[자바기초] jxl을 이용하여 자바에서 엑셀파일 읽고,쓰기
C:\Program Files\Java\jdk1.8.0_211\jre\lib\ext
C:\Program Files\Java\jre1.8.0_211\lib\ext
-----------------------------------------------------------------------------
위의 경로로 jxl을 복사하면 될법하지만 웹쪽이 아닌관계로...;;
아래와 같이 해야 jxl을 붙일수 있었다;
이클립스 프로젝트오른쪽클릭->Build path->Configure Build Path
->Libraries텝선택->Add External JARs선택
->첨부파일 jxl.jar파일 선택
예제 파일을 보면 알수 있겠지만 상대경로이기 때문에 프로젝트폴더명 바로 밑에 data.xls가 존재해야 한다.
메인클래스
package com.ljh;
import com.ljh.xls.ExcelMaker;
import com.ljh.xls.ExcelReader;
import jxl.Workbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
public class MainClass {
public MainClass() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//new ExcelMaker();
new ExcelReader();
}
}
엑셀쓰기
package com.ljh.xls;
import java.io.File;
import java.io.IOException;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
public class ExcelMaker {
//사용할 엑셀파일 생성
//File fname = new File("data.xls");
//WritableWorkbook wb = Workbook.createWorkbook(File 객체)
//
//엑셀 파일내에 시트 생성
//WritableSheet s1 = WriteableWorkbook.createSheet("이름", index);
//
//라벨생성
//Label label = new Label(열번호, 행번호, "내용");
//
//시트에 라벨 적용
//WritableSheet.addCell(Label 객체);
public ExcelMaker() {
File f = new File("data.xls");
//파일객체는 파일에대한 정보만 넘겨주는거기 때문에 예외처리 할필요 없음;
try{
WritableWorkbook wb = Workbook.createWorkbook(f);
WritableSheet s1 = wb.createSheet("첫번째", 0);
WritableSheet s2 = wb.createSheet("Sheet 1", 1);
WritableSheet s3 = wb.createSheet("Sheet 2", 2);
for(int i = 0; i < 10; i++){
Label label = new Label(0, i, "데이터.." + i);
s1.addCell(label);
Label label1 = new Label(1, i, "데이터.." + i);
s1.addCell(label1);
}
wb.write(); //반드시 적어줘야 엑셀에 적용이 됨;
wb.close();
} catch(Exception e){
System.out.println("Err : " + e.getMessage());
}
}
}
엑셀읽기
package com.ljh.xls;
import java.io.File;
import javax.swing.tree.ExpandVetoException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
public class ExcelReader {
// 파일경로 지정
// File fname = new File("data.xls");
//
// 엑셀 파일 객체 얻기
// Workbook wb = Workbook.getWorkbook(File 객체);
//
// 시트 얻기
// Sheet s = wb.getSheet(0);
//
// 셀 얻기
// Cell c = s.getCell(0,i);
//
// 셀의 내용 읽기
// Cell.getContents();
public ExcelReader() {
File fname = new File("data.xls");
try{
Workbook wb = Workbook.getWorkbook(new File("data.xls"));
Sheet s = wb.getSheet(0);
int i = 0;
while(true){
try{
Cell c = s.getCell(0,i);
Cell c1 = s.getCell(1, i);
System.out.println(c.getContents() + "\t" + c1.getContents());
i++;
} catch(Exception e){
break;
}
}
wb.close();
}catch(Exception e){
System.out.println("Err : " + e.getMessage());
}
}
}
댓글
댓글 쓰기