Bravo.Reporting 是用 NVelocity 模板引擎实现的 OpenDocument 报表系统。OpenDocument 是 ISO 标准办公软件文档格式,也是开源办公软件OpenOffice.org 所采用的文档格式。Bravo.Reporting 实际上是一个通用的格式文档生成系统,其用途不仅用于生成报表,也可以用来生成合同、预算报告、标书等等任何需要格式与数据相结合的文档。

Bravo.Reporting 的特性:

  1. 采用了非常简单易学的 Velocity 模板语言并配合部分 OpenDocument 特性,大大提高报表开发效率。
  2. OpenDocument 文档格式由免费开源的 OpenOffice 完整支持,打印、格式转换等均不是问题。
  3. 采用 NVelocity 模板引擎进行内容的替换,报表系统本身不负责报表的显示,因此没有其他采用像素定位设计的报表工具所存在的中文换行、对齐等等布局问题,也大大提高了模板渲染的性能。
  4. 可以利用 OpenOffice Calc 电子表格的强大功能,进行二次汇总分析或绘制图表。
  5. 支持图像数据,可以在文档中嵌入用户提供的图像数据。

基于 ODT 字处理程序文档的报表:

模板示例:

模板引擎渲染后的结果:

基于 ODS 电子表格文档的报表:

模板示例:

模板引擎渲染后的结果:

简单易用的 Bravo.Reporting

Bravo.Reporting 的使用通常分为三步:

  1. 使用 OpenOffice.org 工具创建并编辑报表模板
  2. 编译报表模板为内部所使用的模板格式
  3. 用户提供数据渲染编译后的模板并产生结果

为模板引擎准备数据的代码:

编译模板:

渲染模板的代码:

Bravo.Reporting 渲染包含用户图片的模板同样容易:

总结

目前,Bravo.Reporting 仍在努力完善中,并准备在 2010 年 9 月底发布一个版本,此版本将完整支持 ODT 和 ODS 格式的模板,并具有较高的单元测试覆盖率。未来也可能加入 Excel 2003 XML 格式文档支持,甚至可能支持 Microsoft Office 2007 的 DOCX 和 XSLX 格式的文档。

转载于:https://www.cnblogs.com/oldrev/archive/2010/09/01/1815353.html

Bravo.Reporting:使用 .Net 实现基于 ODF 文档格式的报表系统相关推荐

  1. MFC基于单文档实现绘图功能(线段,矩形,椭圆,圆,铅笔,橡皮),保姆式教程

    MFC基于单文档实现绘图功能(线段,矩形,椭圆,圆,铅笔,橡皮),保姆式教程 需要手写的代码都在图片下面,实际内容不多------嘻嘻. 1.打开VS–新建项目–选择mfc应用程序 2.选择单文档,m ...

  2. 信创办公--基于WPS的Word最佳实践系列(快速统一文档格式)

    信创办公–基于WPS的Word最佳实践系列(快速统一文档格式) 项目背景 在一篇长文档中,会存在标题和正文的部分,而作为标题,就应该具有和正文有所区分的特殊格式.如果要一个一个标题进行设置,里面的重复 ...

  3. 基于PDF文档结构的数字隐写

    前言 前面看了PDF隐写,研究了一下是怎么回事,自己想实现一下,然后在网上也没看到有相应脚本,就花时间写了一下,也趁此做下记录. PDF文档结构 PDF文件结构由四部分元素构成:文件头 文件体 交叉引 ...

  4. 基于Word文档的试卷单题拆分工具

    几年前csdn上遇到一个朋友咨询"基于Word文档的试卷单题拆分"的问题,正好当时做完了这样一个工具,效果不错.当时分享了一些设计思路,留下了联系方式,几年来不少朋友又在询问这一问 ...

  5. 用C++来设计开发的基于boost文档的站内搜索引擎项目,点赞收藏起来!

    So Easy搜索引擎 项目描述 主要技术 项目特点 0. 准备工作 1. 预处理模块 2. 索引模块 3. 搜索模块 4. 服务器模块 项目难点和提升 结束语 项目描述 boost官网虽然提供了在线 ...

  6. MFC 基于多文档的打印和打印预览功能的实现

    一.基础知识 1 网上有很多的关于打印的程序,一定要看清楚,是基于对话框dialog的打印功能,还是基于文档的打印功能. 如果分不清基于对话框和文档的区别,建议新建一个单文档.多文档和对话框的工程,看 ...

  7. Aspose.Words for .NET使用教程(五):文档格式功能及邮件合并功能

    Aspose.Words无需Microsoft Word也可在任何平台上满足Word文档的一切操作需求.本文将以表格的形式与大家分享Aspose.Words for .NET的文档格式功能.邮件合并功 ...

  8. Go语言国际电子表格文档格式标准实践

    在 Gopher Meetup 北京站上,阿里巴巴高级开发工程师.前百度 Go 语言编程委员会成员续日进行了主题为<Go语言国际电子表格文档格式标准实践>的演讲. Excelize 是 G ...

  9. 轻松实现各种文档格式转换,doc转pdf、doc转png图片、pdf转png图片,可以实现Windows、Linux、MacOS平台上部署(附源码和说明)

    轻松实现各种文档格式转换,doc转pdf.doc转png图片.pdf转png图片,可以实现Windows.Linux.MacOS平台上部署,可以通过命令行.shell脚本.python等方式调用. 实 ...

  10. 什么是PDF(便携式文档格式)文件以及如何打开PDF?

    PDF is a popular file extension that is generally used to store documents, brochures, books, scanned ...

最新文章

  1. 建堆 java_堆排序就这么简单
  2. salesforce lightning零基础学习(一) lightning简单介绍以及org开启lightning
  3. CSP认证201512-4 送货[C++题解]:无向图欧拉路径、并查集、dfs
  4. Codeforces 858A. k-rounding 数论
  5. SPRING IN ACTION 第4版笔记-第三章ADVANCING WIRING-008-SpEL介绍
  6. JS中var与function
  7. Java中利用package机制实现条件编译
  8. 《剑指offer》面试题18——树的子结构(C++)
  9. 在安卓模拟器(mumu为例)上联调app并且用Charles抓包
  10. 简单的酒店管理系统(纯属练手)
  11. 安装microsoft office 和visio遇到的那些事儿
  12. python中素数怎么判断_python怎么判断素数
  13. Mybatis事务原理
  14. linux skype的安装
  15. vue 使用 vue-awesome-swiper(swiper)解决方法
  16. jquery 内容分页_为内容创建现代jQuery分页
  17. 门禁管理系统(Swing/Dos)
  18. 三件套都有什么_床上四件套和三件套都包括哪些物品?床上四件套选购指南
  19. Apache服务安装完整教程
  20. STM32 基础系列教程 16 - I2S(模拟)

热门文章

  1. BZOJ 1801 中国象棋(DP)
  2. 获取代理电脑的https证书方法
  3. 【转载,留作参考】mysql 截取字符串以及mysql update select
  4. python条件、循环、终止
  5. 《Linux/UNIX OpenLDAP实战指南》——1.2 OpenLDAP目录架构
  6. Java设计模式——建造者模式
  7. SQL Server海量数据查询代码优化建议
  8. php正则表达式修饰符详解
  9. 键盘皇者 RealForce 104Pro独家评测
  10. 使用windows 7有感