我是Apache POI api的初学者.我正在尝试使用arraylist创建excel表.
我的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++;
}
Run Code Online (Sandbox Code Playgroud)
arraylist如下:
List<Bean> beanList = new ArrayList<Bean>();
beanList.add(new Bean("Amy","g@y.comrtyrtyrtyrtyrtyr"));
beanList.add(new Bean("Joan","p@y.comrtyrtyrtyrtyrtyr"));
beanList.add(new Bean("Megan","r@y.comrtyrtyrtyrtyrtyr"));
beanList.add(new Bean("Joe","m@y.comrtyrtyrtyrtyrtyr"));
beanList.add(new Bean("Febi","j@y.comrtyrtyrtyrtyrtyr"));
Run Code Online (Sandbox Code Playgroud)
生成Excel工作表时,该列不能正确匹配内容的大小.我搜索了谷歌相关的这个问题并找到了
sheet.autoSizeColumn(5);
是我的问题的解决方案.我在上面的代码中添加了,但问题仍然存在.我正确使用它吗?
还有其他解决方案吗?
请帮忙
提前致谢
Ps:我正在使用Apache Poi 3.6
Bil*_*ard 52
你只需要将呼叫转移到
sheet.autoSizeColumn(5);
Run Code Online (Sandbox Code Playgroud)
添加数据后代码中的某个点,因此在while循环应该正常工作之后.
| 归档时间: |
|
| 查看次数: |
57405 次 |
| 最近记录: |