2014-04-09 63 views
0

我想修改一個excel文件。我無法做到這一點。 我做了一些計算並得到答案。我想將該答案存儲在excel文件中。再次打開它,存儲並保存。在Excel文件中修改文本

但是,在這裏,我無法做到這一點。 每當我得到一個值,我想在Excel中存儲該值,然後再打開並存儲它。

static int count=0; 

public static void main(String[] args) 
{ 
    try { 
     for(int i=0;i<5;i++) 
     update(i); 
    } catch (Exception e) { 
    } 
} 

public static void update(int i) throws BiffException, IOException, RowsExceededException, WriteException 
{ 
    count++; 
    Workbook existingWorkbook = Workbook.getWorkbook(new File("try.xls")); 
    WritableWorkbook workbookCopy = Workbook.createWorkbook(new File("try2.xls"), existingWorkbook); 
    WritableSheet sheetToEdit = workbookCopy.getSheet(0); 

    Label l = new Label(4, count, String.valueOf(i)); 
    sheetToEdit.addCell(l); 

    workbookCopy.write(); 
    workbookCopy.close(); 
    existingWorkbook.close(); 
} 

回答

0

它有效,但我不知道你是否在做你認爲你在做的事。每一次,我都看到try2.xls正在被正確更新。問題是,在下一個循環中,您正在讀取原始文件try.xls,然後複製並重新寫入。在5次迭代結束時,您會看到相應單元格中的數字4,但不是0-3,因爲這些文件現在已被覆蓋。

循環應該在更新方法內移動,以便所有的寫操作都在相同的工作簿打開/關閉時進行。然後,您應該可以像預期的那樣在try2.xls輸出工作簿中看到所有五個值。