XSSF

2012-04-18 8 views
5

के साथ apache poi पढ़ने xls के लिए मदद की ज़रूरत है मुझे अपाचे XSSF का उपयोग कर xls फ़ाइलों को पढ़ने में मदद चाहिए।XSSF

एक्सएसएसएफ का कार्यान्वयन "xlsx" के लिए ठीक काम कर रहा है। "Xls" फ़ाइलों के लिए काम नहीं कर रहा है।

XSSFWorkbook workBook = new XSSFWorkbook("fileName"); 
    XSSFSheet sheet = workBook.getSheetAt(0); 
    XSSFRow row = sheet.getRow(0); 

कोई वैकल्पिक हल की सराहना की है:

यहाँ कोड है।

+0

आप पढ़ का प्रयास किया [Apache POI QuickGuide] (http://poi.apache.org/ Apache POI QuickGuide देखें स्प्रेडशीट/कैसे-to.html # user_api)? यह आपको दिखाता है कि XSSF और HSSF फ़ाइलों को मूल रूप से समान कोड – Gagravarr

+0

दोनों के साथ धन्यवाद और लिखने के लिए धन्यवाद। हां मैं .xml एचएसएसएफ और .xlsx XSSF के लिए अलग से कर सकता हूं। लेकिन क्या कोई तरीका है जिसे हम एकल कार्यान्वयन के साथ प्राप्त कर सकते हैं? –

उत्तर

9

बल्कि सीधे XSSF वर्गों का उपयोग करने से, आप इंटरफेस है कि दोनों HSSF (.xls) और XSSF के बीच आम हैं का उपयोग करना चाहिए (.xlsx)। अपने प्रश्न से कोड का स्निपेट तो बन गयी:

Workbook wb = WorkbookFactory.create(file); // Or InputStream 
Sheet sheet = workBook.getSheetAt(0); 
Row row = sheet.getRow(0); 
Cell cell = row.getCell(0); 
System.out.println("Cell A1 is of type " + cell.getCellType()); 

अधिक जानकारी और उदाहरण के लिए

+0

यह xlsx के साथ काम नहीं करता प्रतीत होता है। जब भी मैं उस प्रारूप में एक्सेल फ़ाइल अपलोड करने का प्रयास करता हूं, मुझे एक अजीब प्रतिबिंब त्रुटि मिलती है: java.lang.reflect.InvocationTargetException। मैं अपनी पंक्तियों को संग्रहित कर रहा हूं जो मुझे वेक्टर में एक्सेल फ़ाइल से मिलता है, फिर उस वेक्टर को किसी अन्य फ़ंक्शन में पास कर देता है। जब मैं उस फ़ंक्शन के अंदर हूं, वेक्टर हमेशा XLSX फ़ाइल के साथ खाली होता है, लेकिन इसका एक्सएलएस फाइलों के साथ सही मूल्य होता है। – berto77

+0

इसके अलावा, वह लिंक xssf को राक्षस नहीं करता है। केवल एचएसएसएफ। – berto77

+0

यह करता है - कोड एचएसएसएफ और एक्सएसएसएफ दोनों के लिए समान रूप से काम करता है, यह सिर्फ इस बात पर निर्भर करता है कि आप किस प्रकार की कार्यपुस्तिका को शीर्ष पर खिलाते हैं। यदि आपको समस्याएं आ रही हैं, तो एक नया प्रश्न पूछें और पूर्ण स्टैकट्रैक पोस्ट करें # – Gagravarr