응용 SoftWare/JAVA

Excel Write/Read

Hyun CHO 2016. 12. 28. 15:11

write 화면


import java.io.File;

import java.io.FileOutputStream;


import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;


public class ExcelWrite {


public ExcelWrite() {

try{

File f = new File("z://fileFolder", "excelTest.xls");

//WorkBook 생성

HSSFWorkbook workbook = new HSSFWorkbook();

//sheet 생성

HSSFSheet sheet1 = workbook.createSheet("주소록");

HSSFSheet sheet2 = workbook.createSheet();

//행 만들기

HSSFRow row1 = sheet1.createRow(0);

HSSFRow row2 = sheet1.createRow(1);

//cell 만들기

row1.createCell(0).setCellValue("번호");

row1.createCell(1).setCellValue("이름");

row1.createCell(2).setCellValue("전화번호");

row2.createCell(0).setCellValue(1);

row2.createCell(1).setCellValue("홍길동");

row2.createCell(2).setCellValue("010-2345-5678");

FileOutputStream fos = new FileOutputStream(f);

workbook.write(fos);

}catch(Exception e){

System.out.println(e.getMessage());

}

}


public static void main(String[] args) {

new ExcelWrite();

}


}

=====================================================================
read 화면

import java.io.File;
import java.io.FileInputStream;

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;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

public class ExcelRead {

public ExcelRead() {
try{
File f = new File("z://fileFolder/excelTest.xls");
FileInputStream fis = new FileInputStream(f);
POIFSFileSystem pfs = new POIFSFileSystem(fis); //엑셀파일 객체 만들기
HSSFWorkbook workbook = new HSSFWorkbook(pfs);
int sheetNum = workbook.getNumberOfSheets(); //sheet 수 구하기
System.out.println("시트 수 : "+sheetNum);
HSSFSheet sheet = workbook.getSheetAt(0);
//workbook.getSheet("주소록");
int rows = sheet.getPhysicalNumberOfRows(); //행의 수 구하기
System.out.println("행의 수 : "+rows);
for(int i=0; i<rows; i++){
HSSFRow row = sheet.getRow(i); //행 객체 구하기
int col = row.getPhysicalNumberOfCells(); //칸의 수 구하기
System.out.println("칸의 수 : "+col);
for(int j=0; j<col; j++){
HSSFCell cell = row.getCell(j);
if(i==1 && j==0){ //숫자 분리
System.out.print((int)cell.getNumericCellValue()+"\t");
}else{
System.out.print(cell.getStringCellValue()+"\t");
}
}
System.out.println();
}
}catch(Exception e){
System.out.println(e.getMessage());
}
}

public static void main(String[] args) {
new ExcelRead();
}

}