Jestem początkującym użytkownikiem Apache POI Api. Próbuję utworzyć arkusz excel przy użyciu arraylist.Problem z dopasowaniem rozmiaru komórki Excel do rozmiaru zawartości podczas korzystania z Apache Poi
Mój kod Java jest następujący.
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 jest następujący:
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]"));
Gdy arkusz Excel generowane kolumna nie pasuje do rozmiaru zawartości poprawnie. Przeszukałem Google w związku z tym problemem i odnalazłem
sheet.autoSizeColumn (5);
jest rozwiązaniem mojego problemu. Dodałem, jak w powyższym kodzie, ale nadal problem nadal występuje. Czy używam go poprawnie?
Czy istnieje inne rozwiązanie?
Proszę o pomoc
góry dziękuję
PS: Używam Apache POI 3.6
ustawiasz rozmiar kolumny automatycznej przed zapisaniem danych. Dlatego nie wie, jak to zmienić. Dodaj to po pętli – Sean
@Sean Bardzo przydatne wyjaśnienie dla początkującego, takiego jak ja. Dzięki!! – mvg
http://stackoverflow.com/questions/20190317/apache-poi-excel-big-auto-column-width – gavenkoa