2009-07-14 11 views
7

Poi में विभिन्न अलग HSSFCell ऑब्जेक्ट में छवि को कैसे जोड़ा जाए?अपाचे पीओआई में एचएसएसएफसीएल में छवियों को कैसे जोड़ना है?

मैं कुछ कोड जो छवि जोड़ रहा है लेकिन समस्या यह है लिखा है, सेल मैं पिछले छवि जोड़ रहे थे, यही कारण है कि सेल केवल दिखा रहा है कि अन्य की तुलना में छवि कोई अन्य कोशिकाओं छवियों दिखा रहे हैं ...

आपकी मदद की सराहना करते हैं। ..

मेरे कोड

while(rs.next()){ 

    HSSFCell cell = getHSSFCell(sheet, rowNo, cellNo); 

    cell.setCellValue(new HSSFRichTextString(rs.getString("TEST_STEP_DETAILS"))); 
    cell.setCellStyle(style); 

    String annotate = rs.getString("ANNOTATE"); 

    if(annotate != null){      
     int index = getPicIndex(wb); 
     HSSFPatriarch patriarch=sheet.createDrawingPatriarch(); 
     HSSFClientAnchor anchor = new HSSFClientAnchor(400,10,655,200,(short)cellNo,(rowNo+1),(short)cellNo,(rowNo+1)); 
     anchor.setAnchorType(1); 
     patriarch.createPicture(anchor, index);           
    } 
    cellNo++; 
} 

getPicIndex विधि है: -

public static int getPicIndex(HSSFWorkbook wb){ 
    int index = -1; 
    try { 
     byte[] picData = null; 
     File pic = new File("C:\\pdf\\logo.jpg"); 
     long length = pic.length(); 
     picData = new byte[ (int) length ]; 
     FileInputStream picIn = new FileInputStream(pic); 
     picIn.read(picData); 
     index = wb.addPicture(picData, HSSFWorkbook.PICTURE_TYPE_JPEG); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    return index; 
} 

उत्तर

7

मुझे आशा है कि आपको स्वयं समाधान मिल जाएगा। यदि नहीं:
समस्या यह है कि आप प्रत्येक छवि के लिए एक नया partiarch बनाते हैं। HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
आपको केवल एक कुलपति उदाहरण बनाना चाहिए और सभी छवियों के लिए अपनी रचनाचित्र विधि का उपयोग करना चाहिए।

+0

मुझे समाधान के समान मिला ... वैसे भी उत्तर के लिए धन्यवाद ... – Garudadwajan

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