TIL 08 - JAVA

eyan31·2022년 6월 22일
0

TIL

목록 보기
8/25
post-thumbnail

TIL | 06.22의 기록

엑셀로 입출력하기

엑셀로 내용을 읽기쓰기를 하기 위해서 framework가 필요하다.
1. jakarta.apache.org에서 POI와 Logging 다운로드
2. export -> java.jar로 압축
3. Build Path -> path 추가

ExcelWrite

public class ExcelWriter {

	public ExcelWriter() {
		//1. workbook 생성
		HSSFWorkbook workbook = new HSSFWorkbook();
		
		//2. sheet생성
		HSSFSheet sheet1 = workbook.createSheet("회원목록"); //시트명 
		HSSFSheet sheet2 = workbook.createSheet(); //시트명x
		
		//3. row생성
		HSSFRow row0 = sheet1.createRow(0); //0행 생성
		
		//4. cell생성
		HSSFCell cell0 = row0.createCell(0);
		cell0.setCellValue("번호"); //cell값 입력
		row0.createCell(1).setCellValue("이름");
		row0.createCell(2).setCellValue("연락처");
		
		HSSFRow row1 = sheet1.createRow(1); //1행 생성
		row1.createCell(0).setCellValue(1);
		row1.createCell(1).setCellValue("홍길동");
		row1.createCell(2).setCellValue("010-1234-5678");
        
        //파일로 쓰기
        File f = new File("c://testFolder/member.xls");
		FileOutputStream fos = new FileOutputStream(f);
		workbook.write(fos);
     }
}

ExcelRead

public class ExcelRead {
	public ExcelRead() {
    	File f = new File("c://testFolder", "member.xls");
		FileInputStream fis = new FileInputStream(f);
		//엑셀파일을 객체 생성하기
		POIFSFileSystem poi = new POIFSFileSystem(fis);
			
		//1. workbook 구하기
		HSSFWorkbook book = new HSSFWorkbook(poi);
			
		//시트 수 구하기
		int sheetCnt = book.getNumberOfSheets();
		System.out.println("시트수->"+sheetCnt);
			
		//2. 회원목록 시트 객체 얻어오기
		HSSFSheet sheet = book.getSheet("회원목록"); //book.getSheetAt(0) 인덱스번호로도 가능
			
		//행의 수 구하기
		int rowCnt = sheet.getPhysicalNumberOfRows();
		System.out.println("행의수->"+rowCnt);
			
		System.out.println("번호\t이름\t연락처");
			
		for(int idx=1; idx<rowCnt; idx++) {// idx=1,2,3
			HSSFRow row = sheet.getRow(idx);
            //셀의 수 구하기
			int cellCnt = row.getPhysicalNumberOfCells();
				
			for(int i=0; i<cellCnt; i++) { //0,1,2
				HSSFCell cell = row.getCell(i);
				if(i==0) {//번호
					int num = (int)row.getCell(i).getNumericCellValue(); //숫자 double
					System.out.print(num+"\t");
				}else {//이름,전화번호
					String str = row.getCell(i).getStringCellValue(); //문자 String
					System.out.print(str+"\t");
				}
			}
			System.out.println();
		}
}
profile
터벅터벅 개발자 지망생의 하루

0개의 댓글