首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模板引擎在.NET中生成简单报告

问模板引擎在.NET中生成简单报告
EN

Stack Overflow用户
提问于 2008-12-06 16:28:42
回答 8查看 7.7K关注 0票数 2

我正在寻找一个免费的模板引擎来生成简单的报告。我想要一些基本功能,如:

  • 能够编写循环(与任何IEnumerable)
  • 传递变量
  • 传递模板文件(主模板、页脚、页眉)

我将使用它生成HTML和XML中的报告。我不是在找ASP.NET模板引擎。

这是用于WinForms应用程序的。

我已经看到了您能推荐一个.net模板引擎吗?这个问题,然而,对于我来说,所有这些模板引擎都是完全过火的,而对于ASP.NET则是非常关注的。

请只推荐免费图书馆。

//我仍然在寻找一个NVelocity,但是对于.NET来说,它看起来不太有希望,太复杂了,当你下载它的时候,它是一堆文件,不清楚该做什么,没有教程,启动文档等等。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2008-12-06 17:33:00

其次,我不推荐nVelocity。这是个可怕的港口。

.NET实际上已经通过使用CodeDOM构建了模板功能。

下面是一个很好的演练,介绍了如何做到这一点:

http://www.codeproject.com/KB/cs/smarttemplateengine.aspx

只需编写少量代码,就可以创建具有内联C#的模板:

代码语言:javascript
复制
<html>
    <head>
         <title>My Report</title>
    </head>
    <body>
        <% foreach (ReportRow r in ReportData) { %>
             <!-- Markup and Code for Report -->
        <% } %>
    </body>
</html>
票数 3
EN

Stack Overflow用户

发布于 2008-12-06 16:51:52

我推荐StringTemplate (http://www.stringtemplate.org)。我用它来发邮件。您可以使用存储在文件系统或数据库中的模板组(这需要一点工作)。

票数 2
EN

Stack Overflow用户

发布于 2008-12-06 16:57:38

我们使用NVelocity作为基于单轨铁路的网站的一部分。老实说,我不推荐NVelocity。它是一个直接端口(我指的是直接CTRL+C,CTRL+V,将一些Java关键字更改为C#关键字--这是不可维护的),从Java到.NET版本。由于最初的.NET维护人员让它处于不健康的状态,城堡不得不对其进行分叉,以添加一些面向.NET的特性(字典访问、花哨的foreach循环)。在逃避它自己的一些指令时遇到问题,如果您试图将一个长if语句分割成多行,就会感到非常恼火。我并不是想把它全部抛出,它是一种很好的语言,它是免费的,它在我们的网站上使用,每天要处理数千个请求--除非我看到了相同语法的新实现,否则我不会再使用它了。

对于系统中生成电子邮件的其他领域,我只是使用老式的方法来替换字符串中的$SPECIAL_KEYWORDS$ (也就是说,将关键字映射到值、迭代和替换的字典)。效率不高,但效果很好。

期待着阅读其他一些答案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/346449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档