java中,如何动态生成HSSFCell cell0= row.createCell(..)中的cell0,cell1,cell2,cell3........
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中,如何动态生成HSSFCell cell0= row.createCell(..)中的cell0,cell1,cell2,cell3........相关的知识,希望对你有一定的参考价值。
是关于导出excel方法的,就是不知道动态生成列名要怎么搞定,求思路
根据你下面的这段要求:“就是列数有时有三个,有时有四个,这些都是不确定的,所以想动态生成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封装的是什么了
参考技术A 直接定位到想要的单元格用
建议用循环嵌套获取 行列
row = sheet.createRow(1);获取行
cell = row.createCell(1);获取列
cell.setCellValue(“列名”);//定义名称
cell.setCellStyle(style);//定义单元格属性 参考技术B 你说的动态,是怎么样动态追问
就是列数有时有三个,有时有四个,这些都是不确定的,所以想动态生成cell0,不用去考虑到底生成多少个HSSFCell对象
追答哦。那根据你拿到的数据啊,把生成cell放在循环里。
需要几列,就生成几个cell
以上是关于java中,如何动态生成HSSFCell cell0= row.createCell(..)中的cell0,cell1,cell2,cell3........的主要内容,如果未能解决你的问题,请参考以下文章
Java操作Excel中HSSFCell.CELL_TYPE_STRINGBOOLEANNUMERIC无定义解决方法