xls, xlsx 파싱(XSSFWorkbook, HSSFWorkbook, XLSParser) :: 개발/일상_Mr.lee

xls, xlsx 파싱(XSSFWorkbook, HSSFWorkbook, XLSParser)

Posted by Mr.mandu.
2016. 4. 16. 16:24 개발/java,spring
라이브러리 필요



org.apache.poi
poi
3.9

  

org.apache.poi
poi-ooxml
3.9
 




// xlsx 
FileInputStream xlsxFile = new FileInputStream(new File(fileName));

// 파일 스트림을 XSSFWorkbook 객체로 생성
XSSFWorkbook workbook = new XSSFWorkbook(xlsxFile);

// XSSFWorkbook 의 첫번째 시트를 가져옴
XSSFSheet sheet = workbook.getSheetAt(0);
   
int xlsxRows = sheet.getPhysicalNumberOfRows();
  
for(int rownum=1; rownum<xlsxRows; rownum++){
 XSSFRow xlsxRow = sheet.getRow(rownum); //셀정보
    
 xlsxRow.getCell(1).toString(); 셀 값
 xlsxRow.getCell(2).toString();
}   
xlsxFile.close();


// xls 방법 1
FileInputStream xlsFile = new FileInputStream(new File(fileName));

// 파일 스트림을 XSSFWorkbook 객체로 생성
HSSFWorkbook  workbook = new HSSFWorkbook (xlsFile);

// XSSFWorkbook 의 첫번째 시트를 가져옴
HSSFSheet sheet = workbook.getSheetAt(0);
      
int xlsRows = sheet.getPhysicalNumberOfRows();
      
for(int rownum=1; rownum<xlsRows; rownum++){
HSSFRow xlsRow = sheet.getRow(rownum);

xlsRow.getCell(1).toString();
xlsRow.getCell(2).toString();
}
xlsxFile.close();

// xls 방법 2
XLSParser parser = new XLSParser();
parser.setXLSFilePath(fileName);
     
if(!parser.parseXLS(0)) {
logger.info("엑셀파싱 오류");
}
   
for( int i = 1; i < parser.getNumOfRows(); i++) {
Cell [] rows = parser.getRow(i);
if( rows != null && rows.length > 0) {
 rows[01].getContents();
rows[02].getContents();
 }>