私はApache POI apiの初心者です。 arraylistを使用してExcelシートを作成しようとしています。
My Javaコードは次のとおりです。
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は次のとおりです。
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]"));
Excelシートが生成されるとき、列はコンテンツのサイズに正しく適合しません。この問題に関連するGoogleを検索して見つけた
sheet.autoSizeColumn(5);
私の問題の解決策です。上記のコードのように追加しましたが、それでも問題は解決しません。正しく使用していますか?
他の解決策はありますか?
助けてください
前もって感謝します
追伸:Apache Poi 3.6を使用しています
あなただけに呼び出しを移動する必要があります
sheet.autoSizeColumn(5);
コード内のポイントにafterデータが追加されているため、whileループの直後に機能します。