zoukankan      html  css  js  c++  java
  • 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 格式的文档。

  • 相关阅读:
    codeforces 455B A Lot of Games(博弈,字典树)
    HDU 4825 Xor Sum(二进制的字典树,数组模拟)
    hdu 1800 Flying to the Mars(简单模拟,string,字符串)
    codeforces 425A Sereja and Swaps(模拟,vector,枚举区间)
    codeforces 425B Sereja and Table(状态压缩,也可以数组模拟)
    HDU 4148 Length of S(n)(字符串)
    codeforces 439D Devu and Partitioning of the Array(有深度的模拟)
    浅谈sass
    京东楼层案例思维逻辑分析
    浅谈localStorage和sessionStorage
  • 原文地址:https://www.cnblogs.com/oldrev/p/1815353.html
Copyright © 2011-2022 走看看