【问题标题】:.net docx/xlsx template engine.net docx/xlsx 模板引擎
【发布时间】:2013-08-23 09:52:04
【问题描述】:

我需要在 .NET 应用程序(ASP.NET MVC,如果确实如此)中从模板生成一些 word/excel 文档(发票、合同、报告)。那么,是否可以在 word/excel 中设计带有占位符和控制块的模板(我认为 if 和 foreach 足以满足我的目的),然后使用 POCO(或 XML,如果存在任何类似 xslt 的引擎)对象作为数据源从模板渲染文档?换句话说,我正在尝试寻找免费或开源的 word/excel 模板引擎,例如 NVelocity。是否存在使用 openxml SDK 执行此操作的任何方法?

谢谢。

【问题讨论】:

    标签: .net ms-office openxml template-engine


    【解决方案1】:

    最简单的方法是使用 Microsoft Office XML。 ExcelWord 都有 XML 格式。因为它是一个普通的 XML 文件,所以您可以将所有 .NET 内容用于 XML,包括 LINQ to XML、XSLT、字符串操作等。

    如果您不能使用 Office XML,您可以尝试外部库,例如:

    【讨论】:

    • 当我尝试将文档保存在单个 xml 中(作为使用 NVelocity 模板的示例),ms office 将我的占位符分成不同的 xml 标签,所以,我需要在每次编辑模板后编辑这个 xml在msoffice。大于 2 页的文档很难处理。
    • @Anton 不幸的是,准备模板是最耗时的,但是您可以尝试使用 docx 库,它应该可以帮助您准备模板
    【解决方案2】:

    您可以使用.Net 提供的开放xml 包。 我为 Excel 做了一个很好的包装,检查我打开的项目: http://officehelper.codeplex.com/documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-28
      • 2010-12-01
      • 2011-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多