2014-12-03 31 views
0

我有一個列表對象,其中包含90000條記錄,現在我需要將列表對象分割爲不同的excel報告,只要它超過65000。然後我需要在一個excel中打印1到65000,並保留在下一張表中。讓說我有15萬條記錄,把我在這裏需要使用3個Excel工作表是一個示例列表大小是20萬,如果我們devide總榜單與頁數限制60000分之200000= geeting近3 Excel工作表如何將列表對象分成不同的工作表時超過65000?

for(int i=0;i<3;i++) 
{ 
    for(int j=0;j<65000;j++) 
    { 
     list.add(j); 
     //logic to export into excel 
    } 
} 

在這種情況下如何我可以打印剩餘的5000條記錄嗎?任何人都可以請幫我怎麼寫這個邏輯的條件?

+0

可以相對容易地編寫幾個CSV文件。 Excel將能夠打開它們。 – user3282276 2014-12-03 06:15:37

+0

感謝這裏的回覆,問題是關於如何區分我的列表對象不同的pices。我知道邏輯可能大使館,但我沒有得到。有什麼建議嗎? – 2014-12-03 06:21:23

回答

3

檢查這個邏輯是否有幫助!

for(int i=0; i<200000; i++){ 
       if(i%65000==0){ 
        // logic export to excel 
       } 
      } 
+0

這將(可能不正確)觸發列表中第一項的導出。謹防! – Qix 2014-12-03 06:35:43

+0

'if(i%650000 == 0 && i> 0)'條件也適用於第一項。 – 2014-12-03 06:39:52

+0

取決於邏輯程序,可以決定是否導出第一項! – hemanth 2014-12-03 06:43:34

0

讓我們假設你有List<Record> records = ....

那麼你可以做到這一點:

int ctr = 0; 
int sheetNo = 1; 

for(Record record : records){ 

    if(ctr <= 65000){ 
     list.add(record); 
    }else{ 
     //Create new Sheet 
     sheetNo++; 
     // reset the counter. 
     ctr = 0; 
    } 
ctr++; 

} 
相關問題