2015-01-19 1 views
0

나는 엑셀 시트에 데이터를 쓰는 POI를 사용하여 자바로 응용 프로그램을 개발 중입니다. 사용자가 데이터를 따르도록 돕기 위해 새 데이터가있을 때 새 행을 쓰고 싶습니다. 새로운 데이터를 쓸 때마다 엑셀 파일을 닫았다가 다시 열고 싶지 않습니다.POI를 사용하여 엑셀 시트에 둘 이상의 행을 씁니다.

initilize 코드는 다음과 같습니다

FileOutputStream fileOut = new FileOutputStream(new File (excellFileName)); 
HSSFWorkbook workbook = new HSSFWorkbook(); 
HSSFSheet sheet = workbook.createSheet("FirstSheet"); 
rowNum = 0; 

HSSFRow rowhead = sheet.createRow((short)rowNum); 
createRowColumns(rowhead, rowNum); 
workbook.write(fileOut);  
rowNum++; 

나는 새로운 데이터를 때마다, 나는이 코드를 사용하고 있습니다 : A의 별도의 세포에서 (데이터를 설정 mehtod

HSSFRow rowMsg = sheet.createRow((short)rowNum);  
createRowColumns(rowMsg, rowNum); 
workbook.write(fileOut);  
rowNum++; 

(createRowColumns를 새로운 :. rowMsg)
문제는 내가 첫 번째 행 (rowhead, 0 행 번호)를 제외하고는 엑셀 파일에 행을 볼 수 없습니다이다

내가 무엇 있습니까 없습니까? 한 번만 워크 시트 작성해야 모든 행을 작성하려면

감사

답변

0

(나는 닫고 파일을 내가 쓸 수있는 데이터가 각 시간을 다시 싶지 않는주의). 따라서 다음과 같이 코드를 업데이트해야합니다.

for(int index = 0; index < rowNum; rowNum++) { 
    HSSFRow rowMsg = sheet.createRow((short)rowNum);  
    createRowColumns(rowMsg, rowNum); 
} 
workbook.write(fileOut);  
관련 문제