2010-10-25 9 views
22

kullanırken excel hücre boyutunu içeriğin boyutuna uydurma konusunda sorun Ben Apache POI api için yeni başlıyorum. Arraylist kullanarak excel sayfası oluşturmaya çalışıyorum.Apache poi

Java kodum aşağıdaki gibidir. Excel tabaka oluşturulduğunda

List<Bean> beanList = new ArrayList<Bean>(); 
    beanList.add(new Bean("Amy","[email protected]")); 
    beanList.add(new Bean("Joan","[email protected]")); 
    beanList.add(new Bean("Megan","[email protected]")); 
    beanList.add(new Bean("Joe","[email protected]")); 
    beanList.add(new Bean("Febi","[email protected]")); 

, kolon doğru içerik boyutuna uygun değildir: aşağıdaki gibi

HSSFWorkbook wb = new HSSFWorkbook(); 
    HSSFSheet sheet = wb.createSheet("new sheet"); 
    HSSFCellStyle style = wb.createCellStyle(); 
     style.setFillForegroundColor(HSSFColor.LIME.index); 
     style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); 

    HSSFRow row4 = sheet.createRow(4); 
    row4.createCell(4).setCellValue("name"); 
    row4.createCell(5).setCellValue("emailId"); 
    sheet.autoSizeColumn(5); 
    List<Bean> nameList = this.getArrayList(); 

    Iterator<Bean> nameListIterator = nameList.iterator(); 


    sheet.autoSizeColumn(5); 

    int i=5; 
    HSSFRow row = null; 


    while(nameListIterator.hasNext()) 
    { 
     Bean bean = nameListIterator.next(); 

     row = sheet.createRow(i); 
     row.createCell(4).setCellValue(bean.getName()); 


     row.createCell(5).setCellValue(bean.getMailId()); 
     i++; 
    } 

ArrayList olup. Bu soruna ilişkin Google'da arama yaptım ve

sheet.autoSizeColumn (5); Sorunumun çözümü olan

. Yukarıdaki kodda ekledim, ancak yine de sorun devam ediyor. Doğru kullanıyor muyum?

Başka bir çözüm var mı?

önceden

Ps

Teşekkür yardım edin: Apache Poi 3.6

+3

Veri yazılmadan önce otomatik sütun boyutunu ayarlıyorsunuz. Bu yüzden onu nasıl boyutlandıracağını bilmiyor. Senin döngüsünden sonra ekle – Sean

+0

@Sean Benim gibi yeni başlayanlar için çok yararlı bir açıklama. Teşekkürler!! – mvg

+0

http://stackoverflow.com/questions/20190317/apache-poi-excel-big-auto-column-width – gavenkoa

cevap

51

kullanıyorum sadece kodunuzda bir noktaya

sheet.autoSizeColumn(5); 

çağrısını taşımak gerekir ,'dan sonra veriler eklenmiştir, bu nedenle while döngüsünüz çalıştıktan hemen sonra.

+1

Cevabınız için teşekkürler. Cevabınız bana sorunu çözüyor. Autosizecolumn çağrısını while döngüsünden sonra yeni taşıdım ve şimdi çalışıyor. Tekrar teşekkürler. – mvg