java中,如何动态生成HSSFCell cell0= row.createCell(..)中的cell0,cell1,cell2,cell3........
发布网友
发布时间:2022-05-02 16:12
我来回答
共3个回答
热心网友
时间:2023-10-08 23:01
根据你下面的这段要求:
“就是列数有时有三个,有时有四个,这些都是不确定的,所以想动态生成cell0,不用去考虑到底生成多少个HSSFCell对象”
给个思路的代码(我是直接写的,你拿来用时要改改):
List list=....//你用来动态生成的数据列表
int rno=list.size(); //行数
//列数如下,我想这是你的问题的关键
int cno=list.get(0).getClass().getDeclaredFields().length;//看不懂就照用试试。
XSSFRow row=null;
XSSFCell cell = null;
for(int i=0;i<rno;i++){
row=sheet.createRow(i);
for(int j=0;j<cno;j++){
cell = row.createCell(j);
... //我想你在这里要取值时也是个问题。看你的list封装的是什么了
}
}
热心网友
时间:2023-10-08 23:01
直接定位到想要的单元格用
建议用循环嵌套获取 行列
row = sheet.createRow(1);获取行
cell = row.createCell(1);获取列
cell.setCellValue(“列名”);//定义名称
cell.setCellStyle(style);//定义单元格属性
热心网友
时间:2023-10-08 23:02
你说的动态,是怎么样动态追问就是列数有时有三个,有时有四个,这些都是不确定的,所以想动态生成cell0,不用去考虑到底生成多少个HSSFCell对象
追答哦。那根据你拿到的数据啊,把生成cell放在循环里。
需要几列,就生成几个cell