仓库指标
- Star
- (33,728 star)
- PR 合并指标
- (30 天内没有已合并 PR)
描述
异常代码
java @Override public void downLoadsubPackageDaily(ActivityReportSubPackageDailyDto activityReportSubPackageDailyDto, HttpServletResponse response, String userPin, String accountId) throws IOException, ParseException, IllegalAccessException { List activityReportDailySubPackageVos = fetchActivityReportDailySubPackageData(activityReportSubPackageDailyDto, userPin, accountId); List activityReportDailyVos = fetchActivityReportDailyData(activityReportSubPackageDailyDto, userPin, accountId); // 设置表格文件名 response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("活动明细-" + DateUtil.format(new Date(), "yyyy-MM-dd") + ".xlsx", "UTF-8")); OutputStream out = response.getOutputStream(); // 导出到excel ExcelWriter excelWriter = null; try { excelWriter = EasyExcel.write(out).build(); WriteSheet writeSheet0 = EasyExcel.writerSheet(0, "按天明细数据" + DateUtil.format(new Date(), "yyyy-MM-dd")).head(ActivityReportDailyVo.class).build(); WriteSheet writeSheet1 = EasyExcel.writerSheet(1, "按人群包明细数据" + DateUtil.format(new Date(), "yyyy-MM-dd")).head(ActivityReportDailySubPackageVo.class).build(); excelWriter.write(activityReportDailyVos, writeSheet0); excelWriter.write(activityReportDailySubPackageVos, writeSheet1); } finally { if (excelWriter != null) { excelWriter.finish(); } } } 其中131行是这句代码excelWriter.finish();
异常提示
2023-10-07 15:39:12.867 WARN [nio-1601-exec-7] [c4900ca26eb0497e9975bf15227b7448] c.j.d.u.a.AspectRound [ ] : com.alibaba.excel.exception.ExcelGenerateException: Can not close IO. at com.alibaba.excel.context.WriteContextImpl.finish(WriteContextImpl.java:378) at com.alibaba.excel.write.ExcelBuilderImpl.finish(ExcelBuilderImpl.java:95) at com.alibaba.excel.ExcelWriter.finish(ExcelWriter.java:329) at com.jd.eem.right.service.right.report.impl.ActivityReportServiceImpl.downLoadsubPackageDaily(ActivityReportServiceImpl.java:131) at com.jd.eem.right.service.right.report.impl.ActivityReportServiceImpl$$FastClassBySpringCGLIB$$a95ace39.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:100) at com.jd.dassist.ump.aop.AspectRound.around(AspectRound.java:69) at sun.reflect.GeneratedMethodAccessor125.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
问题描述
以下两个方法fetchActivityReportDailySubPackageData();fetchActivityReportDailyData();可以正常获取数据,通过日志可以看到,其中这个activityReportDailySubPackageVos有7W+条的数据,本地运行没有这么大的数据量,可以正常运行。线上具体的报错如上,目前的easyexcel版本为2.2.6,我搜索的都是说切换版本可以解决问题?