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无定义解决方法

HSSFCell如何设置样式?

java使用poi读取excel时,电话号码变成了科学计数法,整数变成double,怎么改过来

利用java怎么实现生成报表(Excel文件)

Java导入excel

java利用poi技术导入批量excel数据,并且分段存入数据库怎么解决