精华内容
下载资源
问答
  • UReport2是基于Spring架构的高性能纯Java报告引擎,其中可以通过在单元格上进行迭代来准备复杂的中文样式的语句和报告。 UReport2提供了全新的基于Web的报表设计器,该设计器可在主流浏览器中运行,包括Chrome,...
  • ureport2教学视频

    2020-03-31 19:59:02
    珍贵ureport2视频资料。包括入门和升级以及实际项目中的配置问题。从头到尾解决所有的报表导出问题。方便快捷的适用。
  • ureport2.rar

    2020-05-13 14:36:37
    下下来了之后,配置自己的路径和数据库,这是一个单独的报表服务,系统通过后台访问报表服务,系统的访问java和页面和页面的js也已经写好,参照自己的系统修改
  • ureport2自己的jar包

    2020-03-24 20:26:32
    UReport2自己的Jar包有三个,分别是ureport2-core、ureport2-font及ureport2-console 这个是2.2.9版本的
  • UReport2是一款高性能的架构在Spring之上纯Java报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。 在UReport2中,提供了全新的基于网页的报表设计器,可以在Chrome、Firefox、Edge等各种主流浏览器运行(IE...
  • Ureport 2 第三方资源库

    2017-08-28 10:19:37
    ureport2 想要的第三方jar包文件。
  • UReport2导出word报错

    2021-12-14 09:43:14
    UReport2导出word格式文件提示“无法访问此网站” 查看服务器报错日志: 2021-12-13 17:50:02,286[DEBUG][io.lettuce.core.RedisChannelHandler:76]-dispatching command AsyncCommand [type=HGETALL, output=...

    UReport2导出word格式文件提示“无法访问此网站”

    查看服务器报错日志:

    2021-12-13 17:50:02,286[DEBUG][io.lettuce.core.RedisChannelHandler:76]-dispatching command AsyncCommand [type=HGETALL, output=MapOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command]
    2021-12-13 17:50:02,289[ERROR][org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[UReportServlet]:182]-Servlet.service() for servlet [UReportServlet] in context with path [] threw exception [Servlet execution threw an exception] with root cause
    java.lang.NoSuchMethodError: org.apache.poi.xwpf.usermodel.XWPFParagraph.setSpacingBetween(D)V
    	at com.bstek.ureport.export.word.high.WordProducer.buildTableCellStyle(WordProducer.java:464) ~[ureport2-core.jar:?]
    	at com.bstek.ureport.export.word.high.WordProducer.produce(WordProducer.java:150) ~[ureport2-core.jar:?]
    	at com.bstek.ureport.export.ExportManagerImpl.exportWord(ExportManagerImpl.java:110) ~[ureport2-core.jar:?]
    	at com.bstek.ureport.console.word.ExportWordServletAction.buildWord(ExportWordServletAction.java:81) ~[ureport2-console.jar:?]
    	at com.bstek.ureport.console.word.ExportWordServletAction.execute(ExportWordServletAction.java:55) ~[ureport2-console.jar:?]
    	at com.bstek.ureport.console.UReportServlet.service(UReportServlet.java:81) ~[ureport2-console.jar:?]
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api.jar:3.1.0]
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[tomcat-embed-core.jar:8.5.34]
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core.jar:8.5.34]
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) ~[tomcat-embed-websocket.jar:8.5.34]
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core.jar:8.5.34]
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core.jar:8.5.34]
    	at org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:90) ~[spring-boot-actuator.jar:2.0.5.RELEASE]
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web.jar:5.0.9.RELEASE]
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core.jar:8.5.34]
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core.jar:8.5.34]
    	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web.jar:5.0.9.RELEASE]
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web.jar:5.0.9.RELEASE]
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core.jar:8.5.34]
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core.jar:8.5.34]
    	at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109) ~[spring-web.jar:5.0.9.RELEASE]
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web.jar:5.0.9.RELEASE]
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core.jar:8.5.34]
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core.jar:8.5.34]
    	at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) ~[spring-web.jar:5.0.9.RELEASE]
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web.jar:5.0.9.RELEASE]
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core.jar:8.5.34]
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core.jar:8.5.34]
    	at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:147) ~[spring-session-core.jar:2.0.6.RELEASE]
    	at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) ~[spring-session-core.jar:2.0.6.RELEASE]
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core.jar:8.5.34]
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core.jar:8.5.34]
    	at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:155) ~[spring-boot-actuator.jar:2.0.5.RELEASE]
    	at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:123) ~[spring-boot-actuator.jar:2.0.5.RELEASE]
    	at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:108) ~[spring-boot-actuator.jar:2.0.5.RELEASE]
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web.jar:5.0.9.RELEASE]
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core.jar:8.5.34]
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core.jar:8.5.34]
    	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) ~[spring-web.jar:5.0.9.RELEASE]
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web.jar:5.0.9.RELEASE]
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core.jar:8.5.34]
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core.jar:8.5.34]
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) [tomcat-embed-core.jar:8.5.34]
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core.jar:8.5.34]
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) [tomcat-embed-core.jar:8.5.34]
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [tomcat-embed-core.jar:8.5.34]
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [tomcat-embed-core.jar:8.5.34]
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [tomcat-embed-core.jar:8.5.34]
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) [tomcat-embed-core.jar:8.5.34]
    	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800) [tomcat-embed-core.jar:8.5.34]
    	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-embed-core.jar:8.5.34]
    	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806) [tomcat-embed-core.jar:8.5.34]
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) [tomcat-embed-core.jar:8.5.34]
    	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core.jar:8.5.34]
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_212]
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_212]
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core.jar:8.5.34]
    	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
    

    日志提示没有找到“setSpacingBetween”方法,接下来就是去翻底层代码,发现如下代码用到了

    org.apache.poi.xwpf.usermodel包下XWPFParagraph下的“setSpacingBetween”方法,该代码块首先判断了“行高”是否大于0,true则调用“setSpacingBetween”方法:

    if (style.getLineHeight() > 0.0F) {
        para.setSpacingBetween((double)style.getLineHeight());
    }

    由于才疏学浅,“setSpacingBetween方法为什么没找到还有待验证,目前怀疑可能是jar包冲突造成的。

    自己的解决办法是打开报表设计器选中对应行,设置行高为0暂时避免报错(如需设置行高就手动拖拽拉高即可)

    展开全文
  • UReport2 与业务结合

    2021-06-16 03:46:13
    报表相关URL在配置好一个包含UReport2的项目后,就可以运行我们的项目,打开UReport2的基于网页的报表设计器,它的地址如下:UReport2报表设计器URLhttp://host[:port][/context-path]/ureport/designer如果我们是在...

    本小节中我们将介绍如何在业务页面中展示报表、导出报表文件、引用报表内容等操作。

    报表相关URL

    在配置好一个包含UReport2的项目后,就可以运行我们的项目,打开UReport2的基于网页的报表设计器,它的地址如下:UReport2报表设计器URL

    http://host[:port][/context-path]/ureport/designer

    如果我们是在本地启动项目,并且服务器端口号为8080,context-path为ureport2-demo,那么我们的报表设计器的URL就是:http://localhost:8080/ureport2-demo/ureport/designer。

    在报表设计器中,设计好报表后,点击左上角的

    6f9cc799a0bfad55147ac1c5a23e827d.png图标就可以在线预览报表(预览报表有两种方式,一种是不分页预览报表;一种是分页预览报表,如果报表数据量较大,我们推荐预览时采用分页方式,这样可以减轻浏览器渲染压力);预览报表的URL如下:UReport2预览报表URL

    http://host[:port][/context-path]/ureport/preview?_u=报表名称

    在上面的URL中有个名为“_u”的参数,它是用来指定当前要预览的报表模版名称,如果是对正在设计器中的报表进行预览,那么它的值就是“p”,这是一个约定的值,表示要预览的是正在设计器中的报表,所以可以看到我们演示时预览的URL都是这样:http://localhost:8080/ureport2-demo/ureport/preview?_u=p 。预览正在设计中的报表注意事项

    在预览正在设计器中设计的报表时(也就是_u=p),UReport2会在点击设计器工具栏

    6f9cc799a0bfad55147ac1c5a23e827d.png图标时,将设计中的报表模版信息提交到服务器,存放于当前用户的session中(用户会话中),所以一旦用户session失效,如果我们再次直接预览_u=p类型报表时,会看到“com.bstek.ureport.console.exception.ReportDesignException: Report data has expired,can not do preview.”这样的错误提示,表示存放于session中的正在设计器中设计的报表模版已经失效,不能预览。

    当然,如果_u的值是一个具体的报表名称,则不存在这种问题,只有正在设计器中设计的报表模版在预览中采用了这种机制,这点需要注意。

    如果预览的不是正在设计器中设计的模版,那么只需要给出具体的报表名称即可,需要注意的是,这里的报表名称要以其ReportProvider中要求的前缀开始,比如http://localhost:8080/ureport2-demo/ureport/preview?_u=file:test.ureport.xml等。

    报表预览后,通过预览页面上方工具栏中一排按钮,可以实现报表的PDF打印、导出Word、Excel、PDF等,对应的相关URL如下:URL说明http://host[:port][/context-path]/ureport/pdf/show?_u=报表名称这个URL将向浏览器写入一个PDF文件流,在Chrome、Firefox、Edge这些

    浏览器中将会直接在线显示PDF文件内容,这样可以实现在线浏览PDF并打印输出。

    http://host[:port][/context-path]/ureport/word?_u=报表名称导出对应报表的Word文件

    http://host[:port][/context-path]/ureport/excel?_u=报表名称不分页导出对应报表的Excel文件

    http://host[:port][/context-path]/ureport/excel/paging?_u=报表名称分页导出对应报表的Excel文件

    http://host[:port][/context-path]/ureport/excel/sheet?_u=报表名称分页分Sheet导出对应报表的Excel文件

    http://host[:port][/context-path]/ureport/pdf?_u=报表名称导出对应报表的PDF文件关于报表参数

    上面的这些URL在使用时,如果需要向报表传入参数,可以将这些参数直接放在URL后面使用,如:http://localhost:8080/ureport2-demo/ureport/word?_u=file:test.ureport.xml&deptId=D11&age=50,将报表file:test.ureport.xml导出成word时,传入两个参数,分别是:deptId=D11以及age=50

    上述的这些URL后面除了可以用_u参数来指定要预览的报表名称外,还可以通过_i参数来指定当前要预览报表页码,也就是说如果上述这些URL后面没有_i参数,将会显示整个报表,如果有则显示_i参数指定页码对应的报表,比如URL后面跟_i=2,表示预览报表分页后第2页内容。

    在http://host[:port][/context-path]/ureport/preview对应的HTML报表预览页面中,默认页面上部工具栏会显示一排按钮,用于实现打印和导出其它格式报表,如下图所示:

    c05d856bfdac02bbca3e8ff7643f4cff.png

    在上面的工具栏中,一共有9个按钮,分别用于实现打印及导出其它格式报表, 在实际使用中,如果希望这个工具栏只出现其中某些个工具的话,我们可以参数在URL后面添加_t参数来实现,_t参数如果不指定,那么会显示所有的按钮,否则只显示_t参数指定的按钮。上面这些按钮的显示分别对应参数值:1、2、3、4、5、6、7、8、9,多个参数间用“,”分隔,下面是一些示例:示例说明_t=1,3显示第一个和第三个按钮

    _t=1,2,5显示第一个,第二个和第五个按钮

    _t=1,2,3,4,5显示第一个,第二个,第三个,第四个和第五个按钮

    如果我们不希望显示HTML预览页面的工具栏,那么设置_t=0即可。关于在线打印

    在UReport2的报表预览页面中,可以看到UReport2提供了三种在线打印方式,分别是直接HTML打印、直接PDF打印以及PDF在线预览打印。这其中直接HTML打印是利用浏览器的HTML打印功能实现,能用于普通的A4纸类型报表页面的打印,同时它不能打印出报表中定义的页眉页脚,如果有定义的话。对于直接PDF打印以及PDF在线预览打印是服务端向浏览器中写入PDF流,利用Chrome、Firefox、Edge这些浏览器可以在线显示PDF功能实现的打印,这种是直接打印的PDF,所以可以应付各种复杂报表纸张类型的打印输出。Firefox在预览PDF时存在的问题

    在预览PDF时,Firefox不允许当前frame外通过javascript调用其打印功能(目前来看可能是Firefox的Bug),所以我们需要手工点击其frame内部自带的打印按钮实现打印。

    在业务页面中,如果需要预览打印或导出报表,那么就可以采用上述URL实现需要的功能。

    在代码中使用报表

    在UReport2当中,我们可以使用ExportManager实现在业务代码中导出各种类型的报表,ExportManager接口源码如下:package com.bstek.ureport.export;

    import java.util.Map;

    import com.bstek.ureport.export.html.HtmlReport;

    /**

    * @author Jacky.gao

    * @since 2016年12月4日

    */

    public interface ExportManager {

    public static final String BEAN_ID="ureport.exportManager";

    /**

    * 导出Html报表

    * @param file 报表模版文件名

    * @param contextPath 当前项目的context path

    * @param parameters 参数

    * @return 返回一个HtmlReport对象,里面有报表产生的HTML及相关CSS

    */

    HtmlReport exportHtml(String file,String contextPath,Map parameters);

    /**

    * 导出指定页码的Html报表

    * @param file 报表模版文件名

    * @param contextPath 当前项目的context path

    * @param parameters 参数

    * @param pageIndex 页码

    * @return 返回一个HtmlReport对象,里面有报表产生的HTML及相关CSS

    */

    HtmlReport exportHtml(String file,String contextPath,Map parameters,int pageIndex);

    /**

    * 导出PDF报表

    * @param config 包含报表模版文件名、参数等信息的配置对象

    */

    void exportPdf(ExportConfigure config);

    /**

    * 不分页导出Excel

    * @param config 包含报表模版文件名、参数等信息的配置对象

    */

    void exportExcel(ExportConfigure config);

    /**

    * 分页导出Excel

    * @param config 包含报表模版文件名、参数等信息的配置对象

    */

    void exportExcelWithPaging(ExportConfigure config);

    /**

    * 分页分Sheet导出Excel

    * @param config 包含报表模版文件名、参数等信息的配置对象

    */

    void exportExcelWithPagingSheet(ExportConfigure config);

    /**

    * 导出Word

    * @param config 包含报表模版文件名、参数等信息的配置对象

    */

    void exportWord(ExportConfigure config);

    }

    因为ExportManager接口实现是配置在Spring当中,所以要使用ExportManager接口,我们需要首先通过Spring的ApplicationContext取到ExportManager实例对象,我们可以通过ExportManager.BEAN_ID来取到对应的Bean实例。我们来看下如何采用ExportManager导出HTML报表,并将报表内容嵌入到一个JSP中。

    首先我们需要采用报表设计器设计好一个报表模版文件,将其保存,比如报表模版保存后的文件名为demo.ureport.xml,然后在项目中创建一个JSP(这里之所以选择JSP,是因为它最为简单,可以保证所有的J2EE开发者都能看懂,实际使用时可能是MVC框架、Ajax等,但如果了解了在JSP中用法,其它的就简单了),在JSP中输入相应代码,导出Html报表,并将其写入到JSP中,完整的JSP源码如下:

    HTML报表测试

    导出PDF格式报表

    ExportManager exportManager=(ExportManager)Utils.getApplicationContext().getBean(ExportManager.BEAN_ID);

    Map parameters=new HashMap();

    HtmlReport htmlReport = exportManager.exportHtml("file:demo.ureport.xml",request.getContextPath(),parameters);

    //输出Css样式

    out.println("

    out.println(htmlReport.getStyle());

    out.println("");

    //输出报表内容

    out.println(htmlReport.getContent());

    %>

    启动项目,浏览这个JSP,就可以看到生成的HTML报表内容,如下图所示:

    95fd7377b63b73657cfafae12b7c85c4.png

    可以看到,在运行后的JSP中,可以点击上方的链接导出PDF格式报表,下方的表格则是这个报表的HTML格式展现,实际使用时还可以在这个页面里加入一些其它与业务相关元素,具体做法这里就不再赘述。

    展开全文
  • ureport2

    2021-08-04 11:02:27
    问题,ureport2报表请求过来时,从security中获取user为空,从Redis中获取的话需要token 于是:将token作为参数传递 显然进行了请求转发,转发会将参数丢失。 有没有相关经验的大佬,还望不惜吝啬。 ..

    教程:https://www.w3cschool.cn/ureport/ureport-wh8q2had.html
    跟着教程可以跑起来
    现在需要与业务相结合
    需求:要求登录人不同所看到的报表不同,通过userId进行控制,user信息会存放在security和redis中,
    问题,ureport2报表请求过来时,从security中获取user为空,从Redis中获取的话需要token
    于是:将token作为参数传递
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    显然进行了请求转发,转发会将参数丢失。
    后台拦截处理所有/ureport前缀的请求并将具体的请求分发到对应的ServletAction来实现
    有没有相关经验的大佬,还望不惜吝啬。

    展开全文
  • UReport2是一款高性能的Java报表引擎,提供完善的基于网页的报表设计器,可快速做出各种复杂的中式报表
  • Ureport2源码启动

    2021-08-31 16:30:05
    由于本人使用的idea,所以接下来...idea导入js项目, ureport2-js 文件。 如下: 导入进来后是没有node_modules文件的 需要使用npm install 下载包。 修改Ureport2-js项目的package.json文件 在scripts中添加 ...

    由于本人使用的idea,所以接下来全程使用idea

    1. 前期准备

    先clone一份源码到本地。 git下载地址 https://gitee.com/youseries/ureport.git

    下载的源码文件格式如下:
    在这里插入图片描述

    2. 导入js项目

    idea导入js项目, ureport2-js 文件。 如下:
    导入进来后是没有node_modules文件的
    需要使用npm install 下载包。
    在这里插入图片描述

    • 修改Ureport2-js项目的package.json文件
    1. 在scripts中添加 build及start
    2. 在devDependencies中添加webpack及webpack-cli、webpack-dev-server
    3. 在dependencies 中添加react及react-dom
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "build": "webpack",
        "start": "webpack-dev-server --open"
      },
        "devDependencies": {
        "babel-cli": "^6.26.0",
        "babel-core": "^6.26.0",
        "babel-loader": "^7.1.4",
        "babel-preset-env": "^1.6.1",
        "css-loader": "^0.28.11",
        "expose-loader": "^0.7.1",
        "file-loader": "^0.9.0",
        "style-loader": "^0.13.1",
        "uglifyjs-webpack-plugin": "^1.2.4",
        "url-loader": "^0.5.7",
        "webpack": "^4.46.0",
        "webpack-cli": "^3.3.12",
        "webpack-dev-server": "^3.11.2"
      },
      "dependencies": {
        "bootbox": "^4.4.0",
        "bootstrap": "^3.3.7",
        "bootstrap-colorpicker": "^2.5.0",
        "chart.js": "^2.7.2",
        "chartjs-plugin-datalabels": "^0.3.0",
        "codemirror": "^5.23.0",
        "completer": "^0.1.3",
        "handsontable": "^0.32.0",
        "jquery": "^3.1.1",
        "jquery-contextmenu": "^2.4.2",
        "node-uuid": "^1.4.7",
        "raphael": "^2.2.7",
        "react": "^17.0.1",
        "react-dom": "^17.0.1",
        "save-svg-as-png": "^1.3.2",
        "undo-manager": "^1.0.5"
      }
    
    

    以上js项目配置完成。
    可以试一下npm run start启动,但是这个项目并不能直接启动, 如需修改的话,修改后可执行npm run build打包
    打包后会在源码的Ureoirt2-console项目的src/main/resources/ureport-asserts/js下生成四个js文件。
    分别为common.bundle.js、designer.bundle.js、preview.bundle.js、searchform.bundle.js

    具体为什么可以参考js项目的webpack.config.js文件中的这句话
    在这里插入图片描述

    3. 导入后端项目

    1. 新建一个SpringBoot项目。
    2. 如下步骤所示, 导入Ureport其他四个项目。导入Maven格式
    

    在这里插入图片描述

    • 依次导入Ureport2-console、Ureport2-core、Ureport2-font、Ureport2-parent。
      在这里插入图片描述
    • 修改SpringBoot中的POM文件,引入Ureport依赖
    <dependency>
                <groupId>com.bstek.ureport</groupId>
                <artifactId>ureport2-console</artifactId>
                <version>2.3.0-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>com.bstek.ureport</groupId>
                <artifactId>ureport2-core</artifactId>
                <version>2.3.0-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>com.bstek.ureport</groupId>
                <artifactId>ureport2-font</artifactId>
                <version>2.0.1</version>
            </dependency>
    <!--我使用的oracle驱动,  如果你使用的mysql。那么自己换成你需要的版本-->
            <dependency>
                <groupId>com.oracle.ojdbc</groupId>
                <artifactId>ojdbc8</artifactId>
                <version>19.3.0.0</version>
            </dependency>	
    
    • 配置文件
    server:
      port: 8066
      tomcat:
        max-swallow-size: -1
      servlet:
        context-path:
      address: 0.0.0.0
    spring:
      datasource:
        url: jdbc:mysql://192.168.999.999:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
        username: root
        password: root
        driver-class-name: com.mysql.cj.jdbc.Driver
        
    
    ureport:
      disableHttpSessionReportCache: false
      #UReport2默认报表存储
      disableFileProvider: false
      fileStoreDir: D:/cshi
      debug: true
    
    • 新建Ureport配置类,在SpringBoot包中创建config包
    package com.tiancai.master.config;
    
    import com.bstek.ureport.definition.datasource.BuildinDatasource;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.boot.jdbc.DataSourceBuilder;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.stereotype.Component;
    
    import javax.sql.DataSource;
    import java.sql.Connection;
    import java.sql.SQLException;
    
    @Component
    @Configuration
    //不加项目能够启动但是会导致加载数据源报错或加载不了
    @ImportResource("classpath:ureport-console-context.xml")
    public class UreportDatasource implements BuildinDatasource {
    
        private static final String NAME = "oracle";
        private Logger log = LoggerFactory.getLogger(UreportDatasource.class);
    
        @Autowired
        private DataSource dataSource;
    
        /**
         * 配置ureport的servlet
         * @return
         */
        @Bean
        public ServletRegistrationBean buildUReportServlet() {
            //htreport
            return new ServletRegistrationBean(new UReportServlet(),"/ureport/*");
        }
    
        /**
         * ds1数据库配置
         */
        @Bean("ds1")
        @ConfigurationProperties(prefix = "spring.datasource.druid.ds1")
        public DataSource ds1Source() {
            return DataSourceBuilder.create().build();
        }
    
        @Override
        public String name() {
            return NAME;
        }
    
        @Override
        public Connection getConnection() {
            try {
                return dataSource.getConnection();
            } catch (SQLException e) {
                log.error("Ureport 数据源 获取连接失败!");
                e.printStackTrace();
            }
            return null;
        }
        
    }
    
    • SpringBoot 启动类如下:
    • 启动后控制台会输出路径,可以访问了。
    public static void main(String[] args) throws UnknownHostException {
            ConfigurableApplicationContext application = SpringApplication.run(MasterApplication.class, args);
    
            Environment env = application.getEnvironment();
            String ip = InetAddress.getLocalHost().getHostAddress();
            String port = env.getProperty("server.port");
            String path = env.getProperty("server.servlet.context-path")==null?"":env.getProperty("server.servlet.context-path");
            System.out.println("\n----------------------------------------------------------\n\t" +
                    "Application UReport is running! Access URLs:\n\t" +
                    "Local: \t\thttp://localhost:" + port + path + "/ureport/designer\n\t" +
                    "----------------------------------------------------------");
        }
    

    游览器输入路径即可启动完成。
    在这里插入图片描述

    !!!!欢迎讨论。

    展开全文
  • uReport2

    2021-08-04 11:23:07
    ureport2报表详细使用(一)-集成及配置 ureport2报表详细使用(二)-报表基础配置 ureport2报表详细使用(三)-添加数据集 ureport2报表详细使用(四)-数据处理 ureport2报表详细使用(五)-查询表单设计 ...
  • UReport2导出报错

    2021-04-25 15:45:42
    UReport2导出报错 问题描述: UReport版本号:2.2.9 简介:导出PDF正常和world是报错,但是导出EXCEL失败,提示:无法访问此网站 网址为 http://ip:8080/fintech/ureport/excel?_u=p 的网页可能暂时无法连接,...
  • Ureport2源码修改:增加自定义功能

    千次阅读 多人点赞 2019-12-05 10:23:33
    Ureport2源码修改:单元格超链接增加弹出窗口显示功能需求来源功能实现ureport2-js项目:功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的...
  • springboot整合UReport2

    2021-02-11 13:57:40
    ### 1、首先新建一个springboot项目 ###可以用idea直接新建,也可以在spring-boot官方提供的生成器生成项目,生成地址是:[https://start.spring.io/][https_start.spring.io]### 2、配置pom.xml ###org.spring...
  • ureport2学习笔记

    千次阅读 2020-11-18 17:35:25
    了解Ureport2 从上面这段对ureport2的描述中,可以整理出如下信息: 这个组件是用来生成报表的 它是用java语言编写的 基于spring构建,以spring在如今java应用系统中的普及率来看,这意味着这款报表组件能够很好的...
  • UReport2初体验

    2021-08-18 16:35:40
    UReport2是一款纯Java的高性能报表引擎。 其优点在于:是开源的,基于Apache-2.0开源协议;其次,在项目中直接集成网页端报表设计器,灵活、方便、易维护和管理;另外,可以实现任意复杂的中国式报表。 本文档介绍...
  • UReport2 生成 excel 文档确实很强大 入门《文档》 pom 文件引入 依赖 <properties> <java.version>1.8</java.version> </properties> <dependencies> <!-- Spring Boot --...
  • 1.后端集成ureport2 后端集成ureport2代码 localhost:8080/ureport/designer访问,端口号自己定义 2.Vue中添加 1.在vue项目里,在vue.config.js添加下列代码 devServer: { host: '0.0.0.0', port: port, proxy: { ...
  • springboot集成Ureport2 与业务结合//报表名称要以其ReportProvider中要求的前缀开始, 比如http://localhost:8080/ureport2-demo/ureport/preview?_u=file:test.ureport.xml等。
  • 使用Ureport2报表工具金额字段格式化写法: 在金额字段单元格属性格式化栏输入:##,##0.00
  • Ureport2 安装,配置及问题详解本文详细介绍了笔者Ureport2的安装,配置以及在此过程中遇到的问题和解决方法。本安装 基于IDEA+SpringBoot, 存储使用mysql数据库1 pre-condition1)首先需要安装IDEA, jdk8, maven2...
  • SpringBoot整合ureport2

    2020-09-27 13:09:32
    ​ jeecg-boot开源版本没有开放报表功能,所以打算自己整合一个ureport2。整合过程入第一章,然后出现了错误,排错过程第二章。 一、springboot整合ureport2 pom.xml 添加dependency <dependency> <...
  • UReport2介绍

    千次阅读 热门讨论 2019-10-24 23:18:15
    UReport2介绍 ​ UReport2是一款基于架构在Spring之上纯Java的高性能报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。 ​ 在UReport2中,提供了全新的基于网页的报表设计器,可以在Chrome、Firefox、Edge等...
  • 1.ureport2简介 UReport2是一款高性能的架构在Spring之上纯Java报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。 在UReport2中,提供了全新的基于网页的报表设计器,可以在Chrome、Firefox、Edge等各种主流...
  • ureport2项目使用

    2021-04-20 14:29:55
    1.在pom.xml中加入 <dependency>...ureport2-console</artifactId> <version>[version]</version> </dependency> 2.Repository信息 <repository> <id&g
  • --ureport--> <dependency> <groupId>com.syyai.spring.boot</groupId> <artifactId>ureport-spring-boot-starter</artifactId> <version>2.2.9</version> </...
  • 项目报表里最近遇到一个需求场景需要用到Ureport2报表工具表达式条件属性配置,我用的版本是目前最新版2.2.9,里面边框配置保存后报表报空指针错误,查看源码报错原因是Cell类中为对象属性赋值时,对象为空造成的。...
  • ureport2 数据集参数 进行模糊查询

    千次阅读 2021-05-14 17:33:38
    ureport2 数据集参数 进行模糊查询 ureport2 数据集参数 进行模糊查询最下方有我的手机号如果搞不定再打电话找我!看来你也是为了解决这个坑爹的问题才选择观看这篇文章的,废话不多说,咱们还是赶快燥起来!!!!...
  • SpringBoot+ureport2 //maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> &...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,121
精华内容 448
关键字:

ureport2

友情链接: 信赖域方法.rar