代码之家  ›  专栏  ›  技术社区  ›  Jens

使用XML数据基于模板创建动态Excel文件

  •  2
  • Jens  · 技术社区  · 15 年前

    我目前正在寻找一种基于现有模板,使用来自XML文件的数据创建动态Excel文件的方法。 例如; 我有一个模板exceltemplate.xlsx,里面有一些布局。用户调用一个方法,该方法将创建模板的副本,并用来自XML的数据填充该模板。之后,用户将得到一个与新创建的XLSX一起返回的memoryStream。

    有人知道如何以最好的方式解决这个问题吗?这应该在没有安装任何Office的服务器(作为服务)上运行。

    4 回复  |  直到 15 年前
        1
  •  3
  •   Jens    15 年前

    我已经为此制定了一个解决方案,使用 ExcelPackage.

        2
  •  2
  •   Marvin Smit    15 年前

    当您自己编写这个代码时(*no other tools used),您可以考虑使用XSLT转换。使用模板作为XSLT的基础,将XML数据作为参数推入XSLT转换,得到一个新的XML输出(新的XSLX)。

    希望这有帮助,

        3
  •  2
  •   Andrew    15 年前

    看看这些项目:

    • NPOI -成熟和稳定,但还不支持XLSX(开放XML)格式。
    • ExtremeML -阿尔法和积极-看起来很有前途。
    • SimpleOOXML -稳定且活跃
    • XOOX -阿尔法和活跃-还年轻。

    我想 极值 最符合你的要求。它对使用模板xslx文档有很好的支持,并且是可扩展的。

        4
  •  0
  •   Jens    15 年前

    我正在考虑做以下工作:

    • 创建template.xlsx和templatesettings.xml。

    templatesettings.xml将包含我要填充的表的startrow&startcol。

    • 使用OpenXML从模板创建一个XLSX。一些代码将通过我的数据进行迭代,因为我知道从哪里开始输入数据(templatesettings.xml),所以我应该能够无错误地填充所有数据。

    我的解决方案基于以下TUT: Creating Spreadsheets from a server application

    让我们希望它在我的头脑中起到同样的作用。