jasper导出Excel文件,debug导出文件异常,非debug是正常的

u010538302 2015-07-06 08:38:37

public class ReportUtil {
public static void http_export_Excel(HttpServletRequest request, HttpServletResponse response,
String jasperTemplateName, List<?> list,String exportname) {

response.setContentType("application/vnd.ms-excel");
JasperReport jasperReport = null;
JasperPrint jasperPrint = null;
// String url = ReportUtil.class.getResource("ReportUtil.class").getFile().toString();
// String jasperPath = url.substring(0,url.indexOf("WEB-INF"))+"/jasper/"+jasperTemplateName;
// File reportFile = new File(jasperPath.replace("file:", ""));
String jasperPath = "F:/ireport/loaninformationquery.jasper";
File reportFile = new File(jasperPath);

try {

String fileName = new String((exportname+".xls").getBytes("gbk"), "ISO8859_1");
response.setHeader("Content-disposition", "attachment; filename=" + fileName);
jasperReport = (JasperReport) JRLoader.loadObjectFromFile(reportFile.getPath());
jasperPrint = JasperFillManager.fillReport(jasperReport, null, new JRBeanCollectionDataSource(list));
Exporter<ExporterInput, XlsReportConfiguration, XlsExporterConfiguration, OutputStreamExporterOutput> exporter = new JRXlsExporter();
SimpleXlsReportConfiguration config = new SimpleXlsReportConfiguration();
config.setRemoveEmptySpaceBetweenColumns(true);
config.setRemoveEmptySpaceBetweenRows(true);
config.setWhitePageBackground(false);
config.setDetectCellType(true);
exporter.setConfiguration(config);
ExporterInput exporterInput = new SimpleExporterInput(jasperPrint);
ServletOutputStream ouputStream = response.getOutputStream();
OutputStreamExporterOutput exporterout = new SimpleOutputStreamExporterOutput(ouputStream);
exporter.setExporterInput(exporterInput);
exporter.setExporterOutput(exporterout);
exporter.exportReport();

} catch (JRException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
上面是我的源码
下面是报错堆栈信息:
[ERROR] Error for /mcms-portal/crzDebit/account/toGetExcel.do
java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:366)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337)
at ch.qos.logback.classic.spi.ThrowableProxy.<init>(ThrowableProxy.java:55)
at ch.qos.logback.classic.spi.LoggingEvent.<init>(LoggingEvent.java:124)
at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:447)
at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:403)
at ch.qos.logback.classic.Logger.log(Logger.java:803)
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:147)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:910)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at com.suning.mcms.web.auth.filter.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:204)
at com.suning.mcms.web.auth.filter.FilterSecurityInterceptor.doFilterHttp(FilterSecurityInterceptor.java:131)
at com.suning.mcms.web.auth.filter.SecurityFilter.doFilter(SecurityFilter.java:52)
at com.suning.mcms.web.auth.filter.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:216)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
[ERROR] EXCEPTION
java.lang.OutOfMemoryError: PermGen space
java.lang.reflect.InvocationTargetException
[ERROR] handle failed
java.lang.OutOfMemoryError: PermGen space
...全文
161 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文围绕“基于改进秃鹰算法的微电网群经济优化调度”展开研究,利用Matlab代码实现优化算法的仿真与复现。研究重点在于通过改进的秃鹰搜索算法(Bald Eagle Search Algorithm, BESA)解决微电网群在运行过程中的经济调度问题,提升算法的收敛速度与全局寻优能力,以实现对分布式能源、储能系统及负荷的高效协调管理。文中详细阐述了微电网群的系统架构、数学建模过程、目标函数设计(如运行成本最小化、碳排放降低等),并结合智能优化算法进行求解,验证了改进算法相较于传统方法在调度精度和效率方面的优越性。同时,研究还探讨了算法在多场景下的适应性,为微电网群的智能化、低碳化运行提供了技术支持与实践参考。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事微电网、智能优化算法相关工作的工程技术人员。; 使用场景及目标:① 学习并掌握改进秃鹰算法在复杂优化问题中的应用方法;② 实现微电网群经济调度模型的构建与求解;③ 对比不同智能算法在电力系统优化中的性能表现;④ 为科研论文复现、课题研究或工程项目提供算法支持与代码参考。; 阅读建议:建议读者结合文中提供的Matlab代码逐模块分析,重点关注算法改进策略与调度模型的耦合实现方式,同时可尝试在不同参数设置或场景条件下进行仿真实验,以加深对算法性能与调度效果的理解。

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧