2009-09-21 14 views
5

मैं, excel फ़ाइल से डेटा लोड करने के लिए JXL और Apache POI का उपयोग कर की कोशिश की है अब तक JXL तंत्र ठीक काम किया है। भले ही मैं फ़ाइल में एक छवियों को एम्बेड करता हूं।JXL और Apache POI पार्स संलग्न छवि के साथ उत्कृष्टता प्राप्त वस्तुओं

मैं जो अभ्यस्त पार्स, मैं POI के साथ निम्नलिखित अपवाद एक स्रोत एक फ़ाइल प्राप्त

Exception in thread "main" org.apache.poi.hssf.record.RecordInputStream$LeftoverDataException: Initialisation of record 0xE2 left 2 bytes remaining still to be read. 
    at org.apache.poi.hssf.record.RecordInputStream.hasNextRecord(RecordInputStream.java:124) 
    at org.apache.poi.hssf.record.RecordFactory.createRecords(RecordFactory.java:402) 
    at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:277) 
    at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:202) 
    at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:184) 
    at testXlsParsers.main(TestXlsParsers.java:19) 

और jxl साथ मैं एक सूचकांक सीमा से बाहर

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 
    at java.util.ArrayList.RangeCheck(ArrayList.java:546) 
    at java.util.ArrayList.get(ArrayList.java:321) 
    at jxl.read.biff.WorkbookParser.getSheet(WorkbookParser.java:247) 
    at ParserXLS.parse(ParserXLS.java:27) 
    at ParserXLS.main(ParserXLS.java:46) 

फ़ाइल भार में मिलता है एक्सेल लेकिन नहीं खुला कार्यालय में और केवल एक चीज मैं कच्चे डेटा में देख सकते हैं एडोब XMP कोर 4.1 संबंधित वस्तु ... जो, इस समस्या का कारण हो रहा है अगर मैं हमेशा के लिए निकाल यह ठीक काम करता है ... अगर है मैं अपने जुर्माना में एक और jpg छड़ी।

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.1-c036 46.277092, Fri Feb 23 2007 14:16:18  "> 

वहाँ किसी तरह यह अनदेखी करने के लिए है? मैं इस फ़ाइल को पार्स करने के बारे में कैसे जाउंगा।

धन्यवाद। कोशिश करने के लिए

उत्तर

2

एक बात Apache POI के एक नए संस्करण का उपयोग कर रहा है - इस तरह कीड़े समय के साथ तय हो गई हो।

तो POI के नवीनतम संस्करण को मदद नहीं करता है (लेखन के रूप में 3.8 बीटा 2), आप POI बगजिला में एक नया बग खोलना, और समस्या फ़ाइल अपलोड करना चाहिए। आप जो अपवाद देख रहे हैं वह पीओआई के कारण होता है कि यह निश्चित मात्रा में डेटा होना चाहिए, और अधिक खोजना चाहिए। फ़ाइल के साथ यह पहचानना संभव होगा कि वह डेटा क्यों है, और इसके आसपास काम करता है। (यह मानते हुए कि यह पहले से ही तय नहीं किया गया है, है!)