求教网页导出excel表格问题!

cample2004 2010-09-13 12:51:53
本人初学者,前两天做一个将列表内容导出到excel表格操作,在生成excel表格各列数据的时候无法自动填充各列内容。后来,只好改为手动设置每行列数!

代码如下:(其中,recordsize为共有多少条记录; CustRelTo userTo 为实体类;auCustList 为列表内容)

for (int i = 1; i <= recordsize; i++) {
HSSFRow fundRow = sheet.createRow(fundStartRowNo + i); //fundStartRowNo起始行号,初始值为0;
HSSFCell stkCell0 = fundRow.createCell(0);

stkCell0.setCellValue(i); //第0列为序号列
if (i == recordsize) {
stkCell0.setCellStyle(stockPoolStkCellStyle.getStyleRight());
} else {
stkCell0.setCellStyle(stockPoolStkCellStyle.getStyleLeft());
}
//为 序号列 填充(1、2、3.........)
CustRelTo userTo = null;
if (auCustList != null) {
userTo = auCustList.get(i - 1);
}
//手动创建每条记录的各列,每条记录共有4列
HSSFCell cellDep=fundRow.createCell(1);
HSSFCell cellCustNo=fundRow.createCell(2);
HSSFCell cellCustName=fundRow.createCell(3);
HSSFCell cellAccount=fundRow.createCell(4);
//为各列填充内容
cellDep.setCellValue(new HSSFRichTextString(userTo.getUserBranchName()));
cellCustNo.setCellValue(new HSSFRichTextString(userTo.getCustNo()));
cellCustName.setCellValue(new HSSFRichTextString(userTo.getCustName()));
cellAccount.setCellValue(new HSSFRichTextString(userTo.getBrokerAccount()));
}
---------------------------------------------------------------------------------------
至此,功能实现是正常的。但,按照常理,应该是用for循环嵌套来自动实现 4各列的内容填充。

//recordLength=6条记录
//USER_EXP.length=4每条记录有4列的内容

for (int i = 1; i <= recordLength; i++) {
HSSFRow fundRow = sheet.createRow(fundStartRowNo + i);
/*
* 序号列的生成填充
*
*/
for(int j = 1; j <= USER_EXP.length; j++){
//自动进行单元格生成和内容填充
}
}
小弟在网上多方查询,未发现可以参考的帖子。请给位 大哥 帮忙 看看 (//自动进行单元格生成和内容填充)中应该如何来操作。



...全文
129 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zn85600301 2010-09-16
额 不明白你想做什么
你都可以手动设置 也就是你只需要一个FOR循环的次数
你将要导出的数据对象集合的大小放在那里就行了
例如: 你要导出一个班级学生的信息,学生信息在一个ARRAYLIST里面
FOR(int i=0;i<arr.size;i++){
Student userTo = (Student)arr.get(i);
HSSFCell cellDep=fundRow.createCell(1);
HSSFCell cellCustNo=fundRow.createCell(2);
HSSFCell cellCustName=fundRow.createCell(3);
HSSFCell cellAccount=fundRow.createCell(4);

cellDep.setCellValue(new HSSFRichTextString(userTo.getUserBranchName()));
cellCustNo.setCellValue(new HSSFRichTextString(userTo.getCustNo()));
cellCustName.setCellValue(new HSSFRichTextString(userTo.getCustName()));
cellAccount.setCellValue(new HSSFRichTextString(userTo.getBrokerAccount()));
}

当 cellDep.setCellValue(new HSSFRichTextString(userTo.getUserBranchName())); 加上非空判断如果是空 赋值“”就好了
回复
cample2004 2010-09-16
?咋没人回复哩!
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-09-13 12:51
社区公告
暂无公告