2016-12-05 38 views
0

我有一個代碼產生10個結果,我需要將這些結果導出到Excel工作表的一列中。但是,代碼僅顯示最後10行中的最後一個結果。如何使用jlx在Java的同一Excel表單中編寫數據循環?

的鱈魚所示下來,我需要得到[R [i]於下「的標籤記錄」

import java.io.File; 
import java.io.IOException; 
import jxl.Cell; 
import jxl.Sheet; 
import jxl.Workbook; 
import jxl.read.biff.BiffException; 
import jxl.write.Label; 
import jxl.write.Number; 
import jxl.write.WritableSheet; 
import jxl.write.WritableWorkbook; 
import jxl.write.WriteException; 

public class GetResults{ 
public static void main(String[] args) throws BiffException, IOException, WriteException{ 
    int [] R = {1,2,3,4,5,6,7,8,9,10}; 
    for(int i=0; i<10; i++){ 
    WritableWorkbook wworkbook; 
    wworkbook = Workbook.createWorkbook(new File("output.xls")); 
    WritableSheet wsheet = wworkbook.createSheet("First Sheet", 0); 
    Label label = new Label(0, 2, "A label record"); 
    wsheet.addCell(label); 
    Number number = new Number(0, 3+i, R[i]); 
    wsheet.addCell(number); 
    wworkbook.write(); 
    wworkbook.close(); 
    } 
} 
} 

回答

1

您反覆創建一個新的工作表,並用它覆蓋以前的文件中的同一列。結果,只有最後一次循環迭代的結果才能存活下來。

將工作表和文件創建移到循環之外。每個循環迭代只應該將單元格添加到同一張單張紙上。

適當的縮進可能使這更明顯。

+0

因此,我在Sperate類中編寫代碼,並在大量操作後調用它。爲此,我無法將其排除在循環之外。有沒有想法將工作表保存在循環中? – John

+0

您不想在循環內創建工作表。你需要在循環之前找到合適的位置。也許你想將工作表作爲已經創建的參數傳遞給循環的方法。 – Thilo