POI POI 셀 스타일 설정을 위한 예제 소스

황제낙엽 2008.05.16 14:49 조회 수 : 1379 추천:110

sitelink1 http://www.javaservice.net/~java/bbs/rea...1054519522 
sitelink2  
sitelink3 http://1 
extra_vars4 ko 
extra_vars5  
extra_vars6 sitelink1 
        //통합 문서 생성을을 위한 Workbook인스턴스 생성   
        HSSFWorkbook wb = new HSSFWorkbook();   
           
        //엑셀화일의 새로운 Sheet를 만들어진 Workbook인스턴스에 생성함   
        HSSFSheet sheet1 = wb.createSheet("sheet1");   
           
        //해더부분셀에 스타일을 주기위한 인스턴스 생성   
        HSSFCellStyle cellStyle = wb.createCellStyle();            
        cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);                     //스타일인스턴스의 속성 셑팅           
        cellStyle.setFillForegroundColor(HSSFCellStyle.GREY_25_PERCENT);        //셀에 색깔 채우기   
        cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);   
        cellStyle.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);              //테두리 설정   
        cellStyle.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);   
        cellStyle.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);   
        cellStyle.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM);   
        HSSFFont font = wb.createFont();                                    //폰트 조정 인스턴스 생성   
        font.setBoldweight((short)700);        
        cellStyle.setFont(font);   
           
        //가운데 정렬과 얇은 테두리를 위한 스타일 인스턴스 생성   
        HSSFCellStyle cellStyle0 = wb.createCellStyle();                           
        cellStyle0.setAlignment(HSSFCellStyle.ALIGN_CENTER);   
        cellStyle0.setBorderRight(HSSFCellStyle.BORDER_THIN);   
        cellStyle0.setBorderLeft(HSSFCellStyle.BORDER_THIN);   
        cellStyle0.setBorderTop(HSSFCellStyle.BORDER_THIN);   
        cellStyle0.setBorderBottom(HSSFCellStyle.BORDER_THIN);   
           
        //얇은 테두리를 위한 스타일 인스턴스 생성   
        HSSFCellStyle cellStyle1 = wb.createCellStyle();           
        cellStyle1.setBorderRight(HSSFCellStyle.BORDER_THIN);   
        cellStyle1.setBorderLeft(HSSFCellStyle.BORDER_THIN);   
        cellStyle1.setBorderTop(HSSFCellStyle.BORDER_THIN);   
        cellStyle1.setBorderBottom(HSSFCellStyle.BORDER_THIN);   
           
        //Sheet에 첫번재 Row(가로열)생성   
        HSSFRow row = sheet1.createRow((short)0);   
        row = sheet1.createRow((short)1);   
       
        // 셀별 위드 정하기 헤더 그리기    
        sheet1.setColumnWidth((short)0, (short)2000);   
        sheet1.setColumnWidth((short)1, (short)5000);   
        sheet1.setColumnWidth((short)2, (short)7000);   
        sheet1.setColumnWidth((short)3, (short)5000);   
        sheet1.setColumnWidth((short)4, (short)3000);   
        sheet1.setColumnWidth((short)5, (short)3000);   
        sheet1.setColumnWidth((short)6, (short)3000);   
                   
       
        // 헤더 그리기    
        HSSFCell cell = row.createCell((short)0);          
        cell.setEncoding(HSSFCell.ENCODING_UTF_16);    
                           
        cell.setCellStyle(cellStyle);   
        cell.setCellValue("계약ID");   
           
        cell = row.createCell((short)1);   
        cell.setEncoding(HSSFCell.ENCODING_UTF_16);   
        cell.setCellStyle(cellStyle);   
        cell.setCellValue("사업자명");   
           
        cell = row.createCell((short)2);   
        cell.setEncoding(HSSFCell.ENCODING_UTF_16);   
        cell.setCellStyle(cellStyle);   
        cell.setCellValue("홈페이지");   
       
        cell = row.createCell((short)3);   
        cell.setEncoding(HSSFCell.ENCODING_UTF_16);   
        cell.setCellStyle(cellStyle);   
        cell.setCellValue("대표전화");   
               
        cell = row.createCell((short)4);   
        cell.setEncoding(HSSFCell.ENCODING_UTF_16);   
        cell.setCellStyle(cellStyle);   
        cell.setCellValue("계약일자");   
           
        cell = row.createCell((short)5);   
        cell.setEncoding(HSSFCell.ENCODING_UTF_16);    
        cell.setCellStyle(cellStyle);   
        cell.setCellValue("개통일자");   
           
        cell = row.createCell((short)6);   
        cell.setEncoding(HSSFCell.ENCODING_UTF_16);   
        cell.setCellStyle(cellStyle);   
        cell.setCellValue("연결일자");             
  
-------------------------------------------------------------------------
속성을 정하는 스타일 객체를 각각 틀린 스타일 마다 따로 생성해줘야 하기때문에   
상당히 번거롭고 소스가 복잡해지더군요..   
제대로 정리할 내공도 부족하고.....   
이건 소스 편집보다는 툴을 하나 만드는게 더 나을듯...   
poi 디자인 코드 생성툴...ㅡㅡㅋ;;   
배보다 배꼽이 크네여..
-------------------------------------------------------------------------
번호 제목 글쓴이 날짜 조회 수
57 셀 크기 조정 (자동 크기 조정) 황제낙엽 2011.05.03 7740
56 Cell 의 wrap 설정 (텍스트 개행) file 황제낙엽 2011.05.09 2966
55 POI HSSF, XSSF, SXSSF 성능 분석 file 황제낙엽 2013.11.05 1590
54 병합된 셀의 스타일( border) 설정하기 황제낙엽 2011.05.03 1563
53 Parsing and Processing Large XML Documents with Digester Rules (해석중) file 황제낙엽 2008.05.13 1478
» POI 셀 스타일 설정을 위한 예제 소스 file 황제낙엽 2008.05.16 1379
51 엑셀(Excel)문서 처리 패키지 황제낙엽 2007.01.22 1334
50 POI-HSSF and POI-XSSF - Java API To Access Microsoft Excel Format Files 황제낙엽 2013.11.05 984
49 Comma Separated Values (CSV) - au.com.bytecode.opencsv file 황제낙엽 2007.01.23 626
48 Parsing, indexing, and searching XML with Digester and Lucene 황제낙엽 2008.05.07 429
47 POI HSSF 기능 가이드 -- 퀵·가이드 (한글) 황제낙엽 2008.05.16 373
46 JUnit 3.8에서 JUnit 4, TestNG 활용으로 황제낙엽 2007.09.17 369
45 Junit 을 이용한 효율적인 단위 테스트 전략 황제낙엽 2007.01.30 317
44 Library & Properties 파일 file 황제낙엽 2011.12.23 313
43 XSSF Examples file 황제낙엽 2011.05.04 254
42 사용자 정의 Appender 정의하여 Log4j 확장하기 황제낙엽 2009.05.28 220
41 log4j-1.2.15.jar 와 log4j.properties 예제 file 황제낙엽 2017.08.04 187
40 접속 클라이언트의 아이피별로 로그 화일 기록하기 file 황제낙엽 2009.06.01 183
39 Comma Separated Values (CSV) - com.Ostermiller.util Java Utilities 황제낙엽 2007.01.23 177
38 Apache Log4j 2 Configuration 파일 설정 황제낙엽 2020.04.01 150