1. 首页 > 科技

poi 循环给不同的列加同样的样式,但是只有循环到的最后一列才生效?(java中用poi操纵excel 为什么循环集合添加到excel中总是只添加最后一条数据,

poi 循环给不同的列加同样的样式,但是只有循环到的最后一列才生效?(java中用poi操纵excel 为什么循环集合添加到excel中总是只添加最后一条数据,)

java中用poi操纵excel 为什么循环集合添加到excel中总是只添加最后一条数据,

你循环的代码有问题,把代码贴出来

---------------------------------------------------

public void createexl(String filepath){ //创建新文件

。。。。。。

。。。。。。。。

if(InFor!=null){

HSSFRow rows = null;

for(int xfinfor=0;xfinfor

int rowNum = xfinfor / 3 + 2;

int modNum = xfinfor % 3;

if(modNum == 0){

rows = sheet.createRow(rowNum);

}

String cellvalue=InFor.get(xfinfor).toString();

System.out.println(cellvalue); // 在这里能把值全部打出来。

HSSFCell setcell=rows.createCell(modNum);

setcell.setCellValue(cellvalue);//但是这里只添加最后一条?

}

}

}

Python for循环得到的数据写入到excel里只有最后一次循环的数据。怎么修改才会追加?

105行只写了最后一次循环的,要做个变量不断累加,最后把这个变量写到excel就好了,

试试

poi操作excel 如何循环第一列(急,大家帮帮忙)

1.创建一个excel关联对象HSSFWorkbook:

HSSFWorkbook book = new HSSFWorkbook();

2.创建一个sheet:

HSSFSheet st = book.createSheet("sheet1");

3.创建第i行:

HSSFRow row = st.createRow(i);

4.创建第i行的j列:

HSSFCell cell = row.createCell(j);

5.设置cell属性

给单元格设置边框属性:

+ View Code?

HSSFCellStyle style = book.createCellStyle();

// 左右上下边框样式

style.setBorderLeft(HSSFCellStyle.BORDER_THIN);

style.setBorderRight(HSSFCellStyle.BORDER_THIN);

style.setBorderTop(HSSFCellStyle.BORDER_THIN);

style.setBorderBottom(HSSFCellStyle.BORDER_THIN);

// 左右上下边框颜色(深蓝色),只有设置了上下左右边框以后给边框设置颜色才会生效

style.setLeftBorderColor(HSSFColor.BLACK.index);

style.setRightBorderColor(HSSFColor.BLACK.index);

style.setTopBorderColor(HSSFColor.BLACK.index);

style.setBottomBorderColor(HSSFColor.BLACK.index);

6.给单元格设置背景:

style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);// 设置了背景色才有效果

style.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);

7.给单元格设置字体:

// 单元格字体

HSSFFont font = book.createFont();

font.setFontName("宋体");

9.设置字体以后,需要把字体加入到style中:

style.setFont(font);

10.设置好单元格属性以后,需要这种属性的单元格就可以调用此style:

cell.setCellStyle(style);

11.设置sheet表单的列宽:

st.setColumnWidth(i, cellWidths.get(i).intValue() * 160);

12.列宽的设置方法在HSSFSheet中,方法参数:第一个参数表示第几列,从0开始数;第二个参数表示宽度为多少,大小由使用者调整。

合并单元格:

st.addMergedRegion(new CellRangeAddress(0, 1, 0, keys.size() - 1));

13.单元格合并方法也是在HSSFSheet中,方法参数:一个CellRangeAddress,该类构造函数的4个参数分别表示为:合并开始行,合并结束行,合并开始列,合并结束列。

为什么数据多时,poi生成excel样式不生效

这里写错了,应该是写row3.createCell(0).setCellStyle(cellStyle1)才对