JSP如何实现打印报表功能
这篇文章主要讲解了“JSP如何实现打印报表功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JSP如何实现打印报表功能”吧!
因为ms word和excel的文档都支持html文本格式,因此可以先用word或excel做好模版,另存为Web页,然后将该html改成jsp,将数据部分动态填入即可,不用很辛苦的调整格式即可实现JSP打印报表。
word页面只要在jsp头设置如下指令:
< %@page contentType="application/msword;charset=GBK" %>
excel如下:
< %@page contentType="application/vnd.ms-excel;charset=GBK" %>
使用这种方式客户端必须安装有office软件,用户访问时将在ie中直接用word或excel打开该页面。
使用JSP打印报表的优势是模板设计、调整方便,无需在服务器端使用复杂的POI或jxl技术,也无需在客户端使用ActiveX控件技术,更安全、方便,轻松实现较好的打印效果。
JSP打印报表简单示例:
使用word建立一文档,画表格如下:
----------------------------
| 用户名 | 真实姓名 | 性别 |
----------------------------
| guest | 路人甲 | 男 |
----------------------------
保存为Web页test.htm, 将test.htm改名为test.jsp,修改其中guest、路人甲、男为从数据库动态查询,如下:
< %@ page contentType="application/msword;charset=GBK" %> < %@ page import="java.sql.*" %> < html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"> < head> < meta http-equiv=Content-Type content="text/html; charset=GB2312"> < meta name=ProgId content=Word.Document> < meta name=Generator content="Microsoft Word 9"> < meta name=Originator content="Microsoft Word 9"> < title>用户信息< /title> < !--[if gte mso 9]>< xml> < o:DocumentProperties> < o:Author>evan zhao< /o:Author> < o:LastAuthor>evan zhao< /o:LastAuthor> < o:Revision>1< /o:Revision> < o:TotalTime>1< /o:TotalTime> < o:Created>2003-08-20T16:26:00Z< /o:Created> < o:LastSaved>2003-08-20T16:27:00Z< /o:LastSaved> < o:Pages>1< /o:Pages> < o:Company>taiping< /o:Company> < o:Lines>1< /o:Lines> < o:Paragraphs>1< /o:Paragraphs> < o:Version>9.2812< /o:Version> < /o:DocumentProperties> < /xml>< ![endif]-->< !--[if gte mso 9]>< xml> < w:WordDocument> < w:PunctuationKerning> < w:DrawingGridVerticalSpacing>7.8 磅< /w:DrawingGridVerticalSpacing> < w:DisplayHorizontalDrawingGridEvery>0< /w:DisplayHorizontalDrawingGridEvery> < w:DisplayVerticalDrawingGridEvery>2< /w:DisplayVerticalDrawingGridEvery> < w:Compatibility> < w:SpaceForUL> < w:BalanceSingleByteDoubleByteWidth> < w:DoNotLeaveBackslashAlone> < w:ULTrailSpace> < w:DoNotExpandShiftReturn> < w:AdjustLineHeightInTable> < w:UseFELayout> < /w:Compatibility> < /w:WordDocument> < /xml>< ![endif]--> < style> < !-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:"\@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page Section1 {size:595.3pt 841.9pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:42.55pt; mso-footer-margin:49.6pt; mso-paper-source:0; layout-grid:15.6pt;} div.Section1 {page:Section1;} --> < /style> < /head> < body lang=ZH-CN style='tab-interval:21.0pt;text-justify-trim:punctuation'> < div class=Section1 style='layout-grid:15.6pt'> < table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0cm 5.4pt 0cm 5.4pt'> < tr> < td width=189 valign=top style='width:142.0pt;border:solid windowtext .5pt; padding:0cm 5.4pt 0cm 5.4pt'> < p class=MsoNormal>< span style='font-family:宋体;mso-ascii-font-family:"Times New Roman"; mso-hansi-font-family:"Times New Roman"'>用户名< /span>< /p> < /td> < td width=189 valign=top style='width:142.05pt;border:solid windowtext .5pt; border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'> < p class=MsoNormal>< span style='font-family:宋体;mso-ascii-font-family:"Times New Roman"; mso-hansi-font-family:"Times New Roman"'>真实姓名< /span>< /p> < /td> < td width=189 valign=top style='width:142.05pt;border:solid windowtext .5pt; border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'> < p class=MsoNormal>< span style='font-family:宋体;mso-ascii-font-family:"Times New Roman"; mso-hansi-font-family:"Times New Roman"'>性别< /span>< /p> < /td> < /tr> < % Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url="jdbc:odbc:mydb"; //连接mydb数据库 Connection con=DriverManager.getConnection (url, "", ""); try{ Statement stmt=con.createStatement(); //查询employee表 ResultSet rs=stmt.executeQuery("select user_name, real_name, gender from employee "); while(rs.next()){ %> < tr> < td width=189 valign=top style='width:142.0pt;border:solid windowtext .5pt; border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'> < p class=MsoNormal>< span lang=EN-US>< %=rs.getString("user_name")%>< /span>< /p> < /td> < td width=189 valign=top style='width:142.05pt;border-top:none;border-left: none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt; mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt; padding:0cm 5.4pt 0cm 5.4pt'> < p class=MsoNormal>< span style='font-family:宋体;mso-ascii-font-family:"Times New Roman"; mso-hansi-font-family:"Times New Roman"'>< %=rs.getString("real_name")%>< /span>< /p> < /td> < td width=189 valign=top style='width:142.05pt;border-top:none;border-left: none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt; mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt; padding:0cm 5.4pt 0cm 5.4pt'> < p class=MsoNormal>< span style='font-family:宋体;mso-ascii-font-family:"Times New Roman"; mso-hansi-font-family:"Times New Roman"'>< %=rs.getString("gender")%>< /span>< /p> < /td> < /tr> < % } // end while rs.close(); stmt.close(); } finally { con.close(); } %> < /table> < p class=MsoNormal>< span lang=EN-US>< ![if !supportEmptyParas]> < ![endif]>< o:p>< /o:p>< /span>< /p> < /div> < /body> < /html>
一个JSP打印报表的实例就这样完成了。
感谢各位的阅读,以上就是“JSP如何实现打印报表功能”的内容了,经过本文的学习后,相信大家对JSP如何实现打印报表功能这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!