Simple implementation of the web application exports Excel report (HTML)

xiaoxiao2021-03-06  42

Simple implementation of the web application exports Excel report

In web applications, many data often export into an Excel document. It is more complicated in the way with special generation of real Excel documents. So it is often implemented in a simple way, so that the report is saved as HTML format, then open with Excel.

Implementation: First, use JSP to implement the HTML version of the report in step second, set the cyponse's contentType for the EXCEL format <% response.setContentType ("Application / VND.MS-Excel; Charset = GBK" in the JSP page header. %>%>

Chinese problem:

When you find the source code, you find a word in the JSP file in the JSP file, add a line in the head of the JSP file.

<% @ Page ContentType = "text / html; charset = GB2312"%>

When you look at the source code, you find that the text is Chinese, but use Excel to open it to garbled, add it in and

It is also similar to the processing method with servlet.

Implementation: Test.jsp

<% @ page contenttype = "text / html; charset = GBK"%>

<% respternse.setContentType ("Application / VND.MS-Excel; Charset = GBK");%>

test </ title> </ head></p> <p><body></p> <p><Table BorderColor = # 111111 Cellspacing = 0 Cellpadding = 2 width = 1200 align = center border = 1></p> <p><Tr></p> <p><TD align = middle width = "10%" Height = 20 rowspan = 2> Project </ td></p> <p><TD align = middle width = "2%" height = 20 rowspan = 2> Meter unit </ td></p> <p><TD align = middle width = "4%" Height = 20> Full period payment rate </ td></p> <p></ TR></p> <p></ Table></p> <p></ body></p> <p></ Html></p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-47588.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="47588" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.043</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'l5JqZSVLsQH08BqPYggNqI_2FSlUlUetOr_2BahV0K1yh50sW0t1Ep6Mmll7ZS3F0gJ3mT10FW1v0a3O9Dxf'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>