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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于 java poi 导出excel时 导出多个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);



就这个结构 求高手看看有什么问题~~

看你代码可不是循环创建相同的sheet么,传参都是一样的。一般创建sheet不用写循环吧,有几个sheet页不是也知道吗,何况你也说了,sheet的内容是不一样的。如果你循环创建的sheet,劝你创建的对象名也要不一样,要不让你怎么获取对应的sheet,怎么再创建row,cell?追问

HSSFSheet sheet_sin =workbook.createSheet(month_query1);是创建不同的sheet页,怪我没写清楚 month_query1是个变量的 不是固定的 所以每次想当于创建一个新的sheet 事实上我也导出了这些sheet名字也不同 但是 内容却是和最后一个一样~

参考技术A 你写的上面这些代码应该都没问题。
问题可能出在:
从数据库导出数据的话,sql语句是不是要换一下。比如:
select top 50000 * from 表名 where id not in(select top "+50000*i+" id from 表名)
50000代表每个sheet放5w条记录;

i是你for循环里面定义的int变量。
参考技术B createSheet(month_query1)
参数 month_query1 这个是名称,每个Sheet的,都要不同追问

这个是传递过来的参数 是不同的~~

参考技术C 楼主你问题解决了吗?我这边项目情况也是这样,循环createSheet(),但是在第三张sheet后就开始被后面的sheet数据覆盖,代码调试正常。createSheet()是用for循环去调模板的index

关于java poi导出excel弹出下载框无法弹出的问题

在本地中导出的表格没有什么问题可以导到指定的位置目录下,但是让其在单击导出并弹出下载框如下图

按照网上写的代码如下图

没有任何效果,不知道哪里还有什么问题!只有10分了都在这了!望大神们指教啊!

参考技术A 在Struts配置文件里配置的本回答被提问者采纳

以上是关于关于 java poi 导出excel时 导出多个sheet的问题的主要内容,如果未能解决你的问题,请参考以下文章

求问 java poi 导出多个sheet页

关于java poi导出excel弹出下载框无法弹出的问题

Java 利用poi 导出excel表格 如何在导出时自由选择路径?

JAVA POI导出excel:多个sheet

java 操作poi 导出excel 多个sheet

java POI excel 导出复合样式(一个单元格两个字体)