Bravo.Reporting:使用 .Net 实现基于 ODF 文档格式的报表系统
Bravo.Reporting 是用 NVelocity 模板引擎实现的 OpenDocument 报表系统。OpenDocument 是 ISO 标准办公软件文档格式,也是开源办公软件OpenOffice.org 所采用的文档格式。Bravo.Reporting 实际上是一个通用的格式文档生成系统,其用途不仅用于生成报表,也可以用来生成合同、预算报告、标书等等任何需要格式与数据相结合的文档。
Bravo.Reporting 的特性:
- 采用了非常简单易学的 Velocity 模板语言并配合部分 OpenDocument 特性,大大提高报表开发效率。
- OpenDocument 文档格式由免费开源的 OpenOffice 完整支持,打印、格式转换等均不是问题。
- 采用 NVelocity 模板引擎进行内容的替换,报表系统本身不负责报表的显示,因此没有其他采用像素定位设计的报表工具所存在的中文换行、对齐等等布局问题,也大大提高了模板渲染的性能。
- 可以利用 OpenOffice Calc 电子表格的强大功能,进行二次汇总分析或绘制图表。
- 支持图像数据,可以在文档中嵌入用户提供的图像数据。
基于 ODT 字处理程序文档的报表:
模板示例:
模板引擎渲染后的结果:
基于 ODS 电子表格文档的报表:
模板示例:
模板引擎渲染后的结果:
简单易用的 Bravo.Reporting
Bravo.Reporting 的使用通常分为三步:
- 使用 OpenOffice.org 工具创建并编辑报表模板
- 编译报表模板为内部所使用的模板格式
- 用户提供数据渲染编译后的模板并产生结果
为模板引擎准备数据的代码:
编译模板:
渲染模板的代码:
Bravo.Reporting 渲染包含用户图片的模板同样容易:
总结
目前,Bravo.Reporting 仍在努力完善中,并准备在 2010 年 9 月底发布一个版本,此版本将完整支持 ODT 和 ODS 格式的模板,并具有较高的单元测试覆盖率。未来也可能加入 Excel 2003 XML 格式文档支持,甚至可能支持 Microsoft Office 2007 的 DOCX 和 XSLX 格式的文档。