728x90
반응형

JXL API : http://jxl.sourceforge.net/javadoc/index.html

    http://jexcelapi.sourceforge.net/resources/javadocs/current/docs/

*  jxl.jar 파일 필요

 

- POI 보다 속도가 현저히 빠르고, POI XLS 보다는 용량 또한 작지만, POI XLSX 방식의 경우 보다는 용량이 크다.

- XLSX 방식을 지원하지 않는듯 하다.

 

import java.io.File;
import java.io.IOException;

import jxl.format.Colour;
import jxl.format.ScriptStyle;
import jxl.format.UnderlineStyle;
import jxl.write.WritableWorkbook;
import jxl.Workbook;
import jxl.write.Formula;
import jxl.write.Number;
import jxl.write.NumberFormats;
import jxl.write.WritableFont;
import jxl.write.WritableImage;
import jxl.write.WritableSheet ;
import jxl.write.WritableCellFormat;
import jxl.write.Label;
import jxl.write.Blank;
import jxl.write.WriteException;

............................

 

   WritableWorkbook newExcel = Workbook.createWorkbook(new File("newExcel.xls"));  //새로운 파일생성
   WritableSheet sheet1 = newExcel.createSheet("newSheet", 0); // 시트생성
   //WritableSheet sheet0 = newExcel.getSheet("newSheet") ; // 시트선택

   WritableCellFormat celFormat= new WritableCellFormat();  // 셀 서식 생성

   WritableCellFormat integerFormat = new WritableCellFormat (NumberFormats.INTEGER); // 정수형 서식

   //  WritableCellFormat /////////////////////////////////////////////////////////////////////////////////
   // 폰트타입 : ARIAL, TIMES, COURIER, TAHOMA
   // 폰트크기
   // 선 스타일 : BOLD, NO_BOLD
   // 이텔릭체
   // 밑줄종류 : NO_UNDERLINE, SINGLE, DOUBLE, SINGLE_ACCOUNTING, DOUBLE_ACCOUNTING
   // 폰트 색
   // 스크립트 스타일 : NORMAL_SCRIPT, SUPERSCRIPT, SUBSCRIPT
    WritableCellFormat celFormat2   = new WritableCellFormat(new WritableFont (WritableFont.ARIAL,  20, WritableFont.BOLD,  false, UnderlineStyle.SINGLE,  Colour.YELLOW, ScriptStyle.NORMAL_SCRIPT));  
    //////////////////////////////////////////////////////////////////////////////////////////////////////////
     
   // 좌우정렬 : GENERAL, LEFT, CENTRE, RIGHT, FILL, JUSTIFY
   //celFormat.setAlignment(Alignment.CENTRE);   
   
       // 상하정렬 : TOP, CENTRE, BOTTOM, JUSTIFY
   //celFormat.setVerticalAlignment(VerticalAlignment.CENTRE);
   
       // 선 위치 : NONE, ALL, TOP, BOTTOM, LEFT, RIGHT
   // 선 종류 :  NONE, THIN, MEDIUM, DASHED, DOTTED, THICK, DOUBLE, HAIR, MEDIUM_DASHED, DASH_DOT, MEDIUM_DASH_DOT, DASH_DOT_DOT, MEDIUM_DASH_DOT_DOT, SLANTED_DASH_DOT
   //celFormat.setBorder(Border.ALL, BorderLineStyle.DOTTED); 
   
   // 배경색 지정
       //celFormat.setBackground(Colour.GREEN);          
    
        //입력 (열, 행, 내용, 서식) ////////////////////////////////////////////
      // 숫자 입력 Number
      // 문자 입력 Label
      // 수식 입력 Formula ////////////////////////////////////////////////
        sheet1.addCell(new Number(0, 0, 1000,  integerFormat));  
        sheet1.addCell(new Number(0, 1, 2000000,  integerFormat));
       
        sheet1.addCell(new Formula(0, 2, "a1+a2",  celFormat));  
       
        sheet1.addCell(new Label(1, 0, "10000",  celFormat));  
        sheet1.addCell(new Label(1, 1, "20000",  celFormat));  
        sheet1.addCell(new Label(2, 0, "C1",  new WritableCellFormat()));  

 

       // 빈 셀 생성 : 6열 1행(C1)에 내용을 지우고, celFormat 서식을 적용
       //Blank blank = new Blank(2, 0, celFormat);
       //sheet1.addCell(blank);
       
    //1열3행부터 3열 5행(A3 ~C5) cell을 병합한다.
    //sheet1.mergeCells(0, 2, 2, 4 );
       
        //1열(A) 의 넓이를 50으로 변경한다.
        //sheet1.setColumnView(0, 50);
        //1행(1라인)의 높이를 50으로 변경한다.
        //sheet1.setRowView(0, 50);
       
        // X좌표, Y좌표, 넓이, 높이, 이미지파일 : png포맷만 가능
        //WritableImage image = new WritableImage(5.5, 1.2, 4.2, 3.6,new File("C:/img.png"));
        //sheet1.addImage(image); 
       
       newExcel.write(); // 파일쓰기
       newExcel.close(); // 파일닫기

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,