步骤一:首先将报表和参数模板设计好
在这里,后面在导出PDF与word的时候,因为我的字号设置的问题,最后一列总是打印在后面一张上,这里就记录一下设置打印的问题。在属性——报表属性,打开,显示如下界面:
纸张类型选择A4,缩放模式选择与纸张等宽,页边距一般上下边距我不会去调,主要是左右边距,如果打印显示你的一张下面显示不出所有的列数,可以适当调一下左右边距。当然,你也可以将字号调小。
当然还有参数模板的设计:
在这里,属性里的尺寸调整方式我一般设置为按单元格内容扩大,并把自动换行勾上:
然后我们设置分页:选择属性——报表属性
步骤二:将这两个文件放到项目里之后,下面就是页面上的修改:
首先我们来解释各种常用tag标签的意思:
1、exceptionPage="/reportJsp/myError2.jsp"//错误提示页面
2、funcBarLocation="bottom" //功能条的位置,就是这个:
3、
separator="|" | //功能按钮的分隔符 |
funcBarFontFace="黑体" | //功能按钮的字体 |
funcBarFontColor="red" | //功能按钮上的文字颜色 |
funcBarFontSize="12" | //功能按钮的字号 |
functionBarColor="white" | //功能按钮的背景色 |
分页功能:
width="16000" //报表分页宽度
height="800" //报表分页高度
needPageMark="yes" //是否显示报表页数及翻页功能
导出功能:
needSaveAsExcel="yes" //是一个按钮,如下
excelPageStyle="1"//存为 Excel 时的分页方式,不指定此属性值,则弹出对话框让用户选, 0(不分页)或 1(分页)
saveAsName="网格" //报表另存为 Excel、 PDF 或离线填报时的文件名(不用带扩展名)
*****在这里遇到了一个报错,报错信息如下:
信息: Error parsing HTTP request header
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:192)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1028)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
经过尝试与查阅资料,将tomcat的server.xml中的maxHttpHeaderSize属性调大,然而,并没有什么卵用。后发现应该是转码问题,改为英文名称报错消失,后续研究乱码问题再解决。
excelUsePaperSize="no" // 存为 EXCEL 时: yes 按报表设计时的纸张尺寸, no 采用本 TAG 标签中指定的 width ,
height 值(这个属性,怎么说呢,我实验发现并没有发现什么不同)