Apache POI 는 Apache 소프트웨어 재단 의 오픈 소스 라 이브 러 리 입 니 다.

POI
Apache POI 는 Apache 소프트웨어 재단 의 오픈 소스 라 이브 러 리 로 POI 는 자바 프로그램 에 Microsoft Office 형식 파일 을 읽 고 쓰 는 기능 을 제공 합 니 다.
 
구조:
 
HSSF-Microsoft Excel 형식 파일 을 읽 고 쓰 는 기능 을 제공 합 니 다.
 
XSSF-Microsoft Excel OOXML 형식의 파일 을 읽 고 쓰 는 기능 을 제공 합 니 다.
 
HWPF-Microsoft Word 형식 파일 을 읽 고 쓰 는 기능 을 제공 합 니 다.
 
HSLF-Microsoft PowerPoint 형식 파일 을 읽 고 쓰 는 기능 을 제공 합 니 다.
 
HDGF-Microsoft Visio 형식 파일 을 읽 고 쓰 는 기능 을 제공 합 니 다.
 
Excel 문서 만 들 기
 
예제 1 에 서 는 자카르타 POI API 를 이용 해 엑셀 문 서 를 만 드 는 방법 을 보 여 준다.
 
예시 1 프로그램 은 다음 과 같다.
import org.apache.poi.hssf.usermodel.HSSFWorkbook;   
import org.apache.poi.hssf.usermodel.HSSFSheet;  
 import org.apache.poi.hssf.usermodel.HSSFRow;  
 import org.apache.poi.hssf.usermodel.HSSFCell;   
import java .io.FileOutputStream;   
public class CreateXL {   
/** Excel         ,   D  */   
public static String outputFile="D:\\test.xls";   
public static void main(String argv[]){   
try{   
//     Excel       
HSSFWorkbook workbook = new HSSFWorkbook();   //  Excel         ,         //        "    "    ,    :   // HSSFSheet sheet = workbook.createSheet("    ");   
HSSFSheet sheet = workbook.createSheet();   //    0      (     )   
HSSFRow row = sheet.createRow((short)0);   //   0        (   )   
HSSFCell cell = row.createCell((short) 0);   //               
cell.setCellType(HSSFCell.CELL_TYPE_STRING);   //               
cell.setCellValue("   ");   //            
FileOutputStream fOut = new FileOutputStream(outputFile);   //     Excel         
workbook.write(fOut);   
fOut.flush();   //     ,       
fOut.close();   
System.out.println("    ...");   
}catch(Exception e) {   
System.out.println("    xlCreate() : " + e );   
}   
}   
} 

Excel 문서 의 데이터 읽 기
예제 2 는 엑셀 문서 의 데 이 터 를 읽 는 방법 을 보 여 줍 니 다.D 판 JTest 디 렉 터 리 아래 에 test 1.xls 라 는 파일 이 있 는 엑셀 파일 을 가정 합 니 다.
예시 2 프로그램 은 다음 과 같다.
import org.apache.poi.hssf.usermodel.HSSFWorkbook; 

  import org.apache.poi.hssf.usermodel.HSSFSheet;
  import org.apache.poi.hssf.usermodel.HSSFRow;
  import org.apache.poi.hssf.usermodel.HSSFCell;
  import java .io.FileInputStream;
  public class ReadXL {
/*엑셀 파일 의 저장 위치.주 의 는 정사 선*/
  public static String fileToBeRead="D:\\test1.xls";
  public static void main(String argv[]){
  try{
//Excel 워 크 북 파일 에 대한 참조 만 들 기
  HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
//워 크 시트 에 대한 인용 을 만 듭 니 다.
//이 예 는 이름 에 따라 인용 합 니 다.
  HSSFSheet sheet = workbook.getSheet("Sheet1");
//getSheetAt(int index)도 색인 에 따라 참조 할 수 있 습 니 다.
//엑셀 문서 에서 첫 번 째 워 크 시트 의 결 성 색인 은 0 입 니 다.
//그 문 구 는 HSSFSheet sheet=workbook.getSheetAt(0)입 니 다.
//왼쪽 상단 셀 읽 기
  HSSFRow row = sheet.getRow(0);
  HSSFCell cell = row.getCell((short)0);
//출력 단위 내용,cell.getStringCellValue()는 해당 단위 의 값 을 가 져 오 는 것 입 니 다.
System.out.println("왼쪽 상단 단원 은:"+cell.getString CellValue());
  }catch(Exception e) {
System.out.println("xlRead()실행 됨:"+e);
  }
  }
}셀 형식 설정
여기에서 우 리 는 형식 설정 과 관련 된 문구 만 소개 할 것 입 니 다.우 리 는 워 크 북 이 워 크 북 에 대한 인용 이 라 고 가정 합 니 다.자바 에서 첫 번 째 단 계 는 글꼴 과 셀 의 형식 을 만 들 고 설정 한 다음 에 이 형식 을 사용 하 는 것 입 니 다.
1.글꼴 을 만 들 고 빨간색,굵 은 글꼴 로 설정 합 니 다.
  HSSFFont font = workbook.createFont();
  font.setColor(HSSFFont.COLOR_RED);
  font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
2.형식 만 들 기
  HSSFCellStyle cellStyle= workbook.createCellStyle();
  cellStyle.setFont(font);
3.응용 형식
  HSSFCell cell = row.createCell((short) 0);
  cell.setCellStyle(cellStyle);
  cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("제목"); 
WORD 문서 처리
  import java .io.*;
  import org.textmining.text.extraction.WordExtractor;
  import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  import org.apache.poi.hssf.usermodel.HSSFSheet;
  import org.apache.poi.hssf.usermodel.HSSFRow;
  import org.apache.poi.hssf.usermodel.HSSFCell;
  public class TestPoi {
  public TestPoi() {
  }
  public static void main(String args[]) throws Exception
  {
  FileInputStream in = new FileInputStream ("D:\\a.doc");
  WordExtractor extractor = new WordExtractor();
  String str = extractor.extractText(in);
  //System.out.println("the result length is"+str.length());
  System.out.println(str);
  }
  }

좋은 웹페이지 즐겨찾기