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

时间:2010-02-25 10:39:01

标签: c# xml excel

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

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

4 个答案:

答案 0 :(得分:3)

我使用ExcelPackage.

为此制定了解决方案

答案 1 :(得分:2)

当您自己编写(*没有使用其他工具)时,您可以考虑使用XSLT转换。使用模板作为XSLT的基础,将XML数据作为参数推送到XSLT转换中,获取新的XML(新的xslx)

希望这有帮助,

答案 2 :(得分:2)

看看这些项目:

  • NPOI - 已成熟且稳定,但尚未支持xlsx(Open XML)格式。
  • ExtremeML - Alpha和Active - 看起来很有希望。
  • SimpleOOXML - 稳定而有效
  • XOOX - Alpha和Active - 还很年轻。

我认为ExtremeML最符合您的要求。它对使用模板xslx文档有很好的支持,并且是可扩展的。

答案 3 :(得分:0)

我正在考虑做以下事情:

  • 创建template.xlsx和templatesettings.xml。

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

  • 使用OpenXml从模板创建xlsx。有些代码会通过我的数据进行迭代,因为我知道在哪里开始输入我的数据(templatesettings.xml),我应该能够填充所有数据错误。

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

让我们希望这在我的脑海里工作得很好。