2012-09-14 12 views
5

मैंने पहले से ही एक समाधान खोजने का प्रयास किया है, लेकिन कुछ भी नहीं हुआ है जो मेरी समस्या से मेल खाता है। मैं एक्सेल स्प्रैडशीट पढ़ने और प्रत्येक पंक्ति को निर्दिष्ट ऑब्जेक्ट में बदलने के लिए जेएक्सएल का उपयोग कर रहा हूं। एक पंक्ति के भीतर प्रत्येक सेल उस वस्तु की संपत्ति से मेल खाता है जो मैं बना रहा हूं। मेरी स्प्रेडशीट में 41 कॉलम हैं और 375 पंक्तियों को पढ़ने के बाद, प्रति पंक्ति कोशिकाओं की संख्या 41 से 32 तक बदल जाती है। मुझे पता नहीं लगाया जा सकता है।जेएक्सएल के साथ एक्सेल पढ़ना, पंक्तियों के बीच प्रति पंक्ति सेल गणना

w = Workbook.getWorkbook(inputWorkbook); 
    // Get the first sheet 
    Sheet sheet = w.getSheet(0); 
    // Loop over first 10 column and lines 

    for (int row=1; row < sheet.getRows();row++) 
    { 
     EventData event = new EventData(); 
     // we skip first row bc that should be header info 
     //now iterate through columns in row 
     try 
     { 
      Cell[] cell = sheet.getRow(row); 

      event.Name = cell[0].getContents(); 
      event.Location = cell[1].getContents(); 

कोड के बाकी प्रत्येक कक्ष की सामग्री को आकर्षित करने और उन्हें तदनुसार आवंटित करने के लिए जारी है:

यहाँ कोड है, जहां मैं पंक्तियों के माध्यम से पाशन कर रहा हूँ और पुन: प्राप्त करने कोशिकाओं है। लेकिन जब पंक्ति 376 पर सेल [32] तक पहुंचने का प्रयास किया जाता है, तो मुझे सीमा अपवाद से बाहर निकलता है।

उत्तर

2

क्या यह नहीं हो सकता कि उस पंक्ति पर सेल [32] के बाद सब कुछ खाली हो और इस प्रकार सरणी में सेल [32] (और ऊपर) बिल्कुल नहीं बनाया गया है? अब मैं jxl से शुरू कर रहा हूं और मुझे लगता है कि मैं देख रहा हूं कि

+0

मेरे पास @Niek जैसा ही अनुभव है, खाली कोशिकाएं पंक्तियों में कोशिकाओं की संख्या को बदलने लगती हैं। –

संबंधित मुद्दे