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

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 字处理程序文档的报表:

模板示例:

image

模板引擎渲染后的结果:

image

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

模板示例:

image

模板引擎渲染后的结果:

image

简单易用的 Bravo.Reporting

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

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

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

image

编译模板:

image

渲染模板的代码:

image 

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

image

总结

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

posted on 2010-09-01 22:46  李屠户  阅读(420)  评论(0编辑  收藏  举报