2012-07-20 16 views
6

का उपयोग कर एक्सेल फ़ाइल से एक छवि और उसकी स्थिति प्राप्त करें क्या अपाचे पीओआई का उपयोग कर किसी XML की स्प्रेडशीट से छवि की जानकारी निकालना संभव है?Apache POI

मेरी परियोजनाओं में से एक में, मुझे .xls फ़ाइल से कुछ छवियों को पढ़ने की आवश्यकता है। मैं सभी छवियों को एक साथ पढ़ सकता हूं, लेकिन मैं छवियों की स्थिति कैसे प्राप्त कर सकता हूं (जैसे स्तंभ और पंक्ति संख्या या निर्देशांक)? अन्यथा मैं छवियों की स्थिति प्राप्त कर सकता हूं लेकिन मुझे पता नहीं है कि स्थिति में एक विशिष्ट छवि के बारे में, तस्वीर का नाम या विस्तार या दूसरों की जानकारी नहीं है। मैं छवियों और पदों को भी कैसे प्राप्त कर सकता हूं?

यहाँ read all images... और यहाँ get images positions...

+0

यह प्रासंगिक हो सकता है: http://stackoverflow.com/questions/9232844/get-picture-position-in-apache-poi- से-एक्सेल-एक्सएलएस-एचएसएसएफ इसके अलावा, यह: http://apache-poi.1045710.n5.nabble.com/Parse-Excel-with- चित्र-td2306811.html – Sid

+2

मुझे भी इसका सामना करना पड़ रहा है समस्या और मैंने यह पाया: http://apache-poi.1045710.n5.nabble.com/Excel-image-sizes-td5582506.html –

उत्तर

4

यहाँ एक नज़र:

http://poi.apache.org/spreadsheet/quick-guide.html#Images

नमूना:

List lst = workbook.getAllPictures(); 

for (Iterator it = lst.iterator(); it.hasNext();) { 

    PictureData pict = (PictureData)it.next(); 

    String ext = pict.suggestFileExtension(); 

    byte[] data = pict.getData(); 

    if (ext.equals("jpeg")) { 

     FileOutputStream out = new FileOutputStream("pict.jpg"); 

     out.write(data); 

     out.close(); 

    } 
} 

इस के बाद, आप ImageInfo जो Magick को खोजने के लिए प्रदान करता है जैसे उपकरणों का उपयोग कर सकते हैं विभिन्न विन्यास बाहर। यो छवियों को विभिन्न आकारों में भी परिवर्तित कर सकते हैं।

रूप में अच्छी तरह इस वर्ग पर एक नज़र डालें:

http://blog.jaimon.co.uk/simpleimageinfo/SimpleImageInfo.java.html

- आशा है कि इस मदद करता है

0

और अगर आप डॉन `t इटरेटर का उपयोग करना चाहते

(कुछ समय वे भारी होते हैं कारण)
public List readDrawing(Workbook workbook) throws Exception { 
    List list = workbook.getAllPictures(); 

    for (int i=0; i<list.size(); i++) { 
     PictureData picture = (PictureData) list.get(i); 

     String ext = picture.suggestFileExtension(); 
     byte[] data = picture.getData(); 

     FileOutputStream out = new FileOutputStream("imageName" + "." + ext); 
     out.write(data); 
     out.close(); 
    } 

    return list; 
} 
संबंधित मुद्दे