如何把JSP页面导出到Excel中?标签:excelhttp协议jsp2014-02-2611:525277人阅读评论(5)收藏举报分类:05.Java(15)目录(?)[+]在此,强调一下搜索时关键词的重要性,这样一下子可以定位到文章,否则处于盲人摸象,毫无目的尴尬境地。本篇就是通过exportjsptoexcel找到的。原文地址:HowtoExportWebPagetoExcel(inJSP)?本篇教程我们会看到如何把JSP页面导出到Excel中,会在已有的JSP页面中增加导出excel的功能。许多时候对于用户来说,可以在excel中看到页面内容是很方便的。公共的方案会被导出成包含一些报告、数字等信息的表格。通过导出数据导出到excel中,最终用户也可以使用excel来做各种的分析,这一点对于你的java基本程序来实现,是有困难的。假设这就是你的jsp页面:这是对应的jsp源码(导出excel功能还没有加)。一个包含简单数据表格的jsp页面。[java]viewplaincopyprint?1.%@pagelanguage=javacontentType=text/html;charset=ISO-8859-12.pageEncoding=ISO-8859-1%3.!DOCTYPEhtmlPUBLIC-//W3C//DTDHTML4.01Transitional//EN=Content-Typecontent=text/html;charset=ISO-8859-17.titleExporttoExcel-Demo/title8./head9.body10.tablealign=centerborder=211.thead12.trbgcolor=lightgreen13.thSr.No./th14.thTextData/th15.thNumberData/th16./tr17./thead18.tbody19.%20.for(inti=0;i10;i++){21.%22.trbgcolor=lightblue23.tdalign=center%=i%/td24.tdalign=centerThisistextdata%=i%/td25.tdalign=center%=i*i%/td26./tr27.%28.}29.%30./tbody31./table32./body33./html我们会添加一个“导出到excel”的超链接,它会把页面内容导出到excel文件中。那么这个页面会变成这个样子:下面是新版本的jsp源码。这个版本增加了“导出到excel”超链接,而且增加了相应的功能:[java]viewplaincopyprint?1.%@pagelanguage=javacontentType=text/html;charset=ISO-8859-12.pageEncoding=ISO-8859-1%3.!DOCTYPEhtmlPUBLIC-//W3C//DTDHTML4.01Transitional//EN=Content-Typecontent=text/html;charset=ISO-8859-17.titleExporttoExcel-Demo/title8./head9.body10.%11.StringexportToExcel=request.getParameter(exportToExcel);12.if(exportToExcel!=null13.&&exportToExcel.toString().equalsIgnoreCase(YES)){14.response.setContentType(application/vnd.ms-excel);15.response.setHeader(Content-Disposition,inline;filename=16.+excel.xls);17.18.}19.%20.tablealign=leftborder=221.thead22.trbgcolor=lightgreen23.thSr.No./th24.thTextData/th25.thNumberData/th26./tr27./thead28.tbody29.%30.for(inti=0;i10;i++){31.%32.trbgcolor=lightblue33.tdalign=center%=i+1%/td34.tdalign=centerThisistextdata%=i%/td35.tdalign=center%=i*i%/td36./tr37.%38.}39.%40./tbody41./table42.brbrbrbrbrbrbrbrbrbrbrbrbrbrbr43.44.%45.if(exportToExcel==null){46.%47.ahref=excel.jsp?exportToExcel=YESExporttoExcel/a48.%49.}50.%51./body52./html导出网页到excel代码解释:1)在这个版本的jsp页面中,当你点击“导出到excel”超链接的时候,请求会发送到相同的页面(excel.jsp),但是伴随url参数是exportToExcel=YES.[java]viewplaincopyprint?1.ahref=excel.jsp?exportToExcel=YESExporttoExcel/a2)JSP页面一开始会检查参数的正确性。如果这个参数值是YES的话,我们就会看到响应报文中的内容类型,它标识了excel的文件名,并且会在用户的电脑上打开。[java]viewplaincopyprint?1.StringexportToExcel=request.getParameter(exportToExcel);2.if(exportToExcel!=null3.&&exportToExcel.toString().equalsIgnoreCase(YES)){4.response.setContentType(application/vnd.ms-excel);5.response.setHeader(Content-Disposition,inline;filename=6.+excel.xls);7.8.}3)当你点击“导出到excel”超链接的时候,所有页面的内容会被导出excel中。但是,我们可能不想让“导出到excel”的超链接出现在excel中。为了阻止它的出现,我们增加了一个判断条件,判断exportToExcel参数是否出现。如果出现,就意味着内容会被导出到excel中,而且不包括超链接。反之,就意味着我们只是想浏览器显示网页,那么超链接会出现在页面上。[java]viewplaincopyprint?1.%2.if(exportToExcel==null){3.%4.ahref=excel.jsp?exportToExcel=YESExporttoExcel/a5.%6.}7.%导出页面到excel的显示但你点击超链接,会弹出一个对话框,问你是否打开或保存文件。点击打开,你会看到下面的内容:正如你所看得,导出的文件也会保存你在页面上的格式设置。在下一篇教程中,我们会看到如何导出页面到word文件中HowtoExportWebPagetoWord(inJSP)你可以下载本次教程中代码解释部分的eclipse工程文件。JavaExcelExport.zip(5KB)[完]=============================================注意:如果没有设置:response.setHeader(Content-Disposition,attachment;filename=+filename+.xls);则默认为当前页面.xls。比如testexcel.jsp---则生成testexcel.xls表格扩展阅读:[1]在JSP中通过http协议生成excel和word:作者用过jxl之后,选择了http方式生成excel[2]JSP-EXCELsavedefualtin.xlsextension,openexcelwithinthebrowser:[3]利用HTTP协议,更改输出文件:引出了HTTP1.1协议的重要性[4]超文本传输协议-HTTP(修订版):详细解释了HTTP1.1协议[5]Multipletablesdataexportedtomultipleworksheetsofthesameexcelsheetinjava:一个excel中,存储在多个sheet