关于 java poi 导出excel时 导出多个sheet的问题

如题,是这样的,在导出excel时候我需要导出多个sheet页,可是我的后面sheet页会覆盖前面sheet页的内容~!!比如导出7个sheet~原本每一个sheet页内... 如题,是这样的,在导出excel时候我需要导出多个sheet页,可是我的后面sheet页会覆盖前面sheet页的内容~!!比如导出7个sheet ~原本每一个sheet页内容应该不一样但是现在是跟第七个一模一样~~
我是这么写的代码
HSSFWorkbook workbook = null;
workbook=new HSSFWorkbook();

for(){

//没有现成的文件需要重新计算
HSSFSheet sheet_sin =workbook.createSheet(month_query1);
sheet_sin= makeJDL(year_query,month_query1,sheet_sin,workbook);

}

就这个结构 求高手看看有什么问题~~
展开
 我来答
百度网友9abd129
2013-10-25 · TA获得超过356个赞
知道小有建树答主
回答量:167
采纳率:0%
帮助的人:145万
展开全部
看你代码可不是循环创建相同的sheet么,传参都是一样的。一般创建sheet不用写循环吧,有几个sheet页不是也知道吗,何况你也说了,sheet的内容是不一样的。如果你循环创建的sheet,劝你创建的对象名也要不一样,要不让你怎么获取对应的sheet,怎么再创建row,cell?
追问
HSSFSheet sheet_sin =workbook.createSheet(month_query1);是创建不同的sheet页,怪我没写清楚 month_query1是个变量的  不是固定的 所以每次想当于创建一个新的sheet 事实上我也导出了这些sheet名字也不同  但是 内容却是和最后一个一样~
tyfg006
2013-11-04
知道答主
回答量:3
采纳率:0%
帮助的人:4847
展开全部
你写的上面这些代码应该都没问题。
问题可能出在:
从数据库导出数据的话,sql语句是不是要换一下。比如:
select top 50000 * from 表名 where id not in(select top "+50000*i+" id from 表名)
50000代表每个sheet放5w条记录;

i是你for循环里面定义的int变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-25
展开全部
createSheet(month_query1)
参数 month_query1 这个是名称,每个Sheet的,都要不同
追问
这个是传递过来的参数  是不同的~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友516651afa
2018-08-27
知道答主
回答量:7
采纳率:0%
帮助的人:6373
展开全部
楼主你问题解决了吗?我这边项目情况也是这样,循环createSheet(),但是在第三张sheet后就开始被后面的sheet数据覆盖,代码调试正常。createSheet()是用for循环去调模板的index
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式