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

C# 使用XML数据基于模板创建动态Excel文件,c#,xml,excel,C#,Xml,Excel,我目前正在寻找一种基于现有模板,使用来自XML文件的数据创建动态excel文件的方法。 例如 我有一个模板ExcelTemplate.xlsx,里面有一些布局。用户调用一个方法,该方法将创建模板的副本,并用来自XML的数据填充模板。之后,用户将获得一个MemoryStream,其中包含新创建的xlsx 有人知道如何以最好的方式解决这个问题吗?这应该是在没有安装任何办公室的服务器(服务)上运行的。 当你自己写这个(*没有其他工具使用)时,你可以考虑使用XSLT转换。使用模板作为XSLT的基础,将X

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


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

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


希望这能有所帮助,

我正在考虑做以下工作:

  • 创建template.xlsx和templatesettings.xml
templatesettings.xml将包含我要填充的表的startrow&startcol

  • 使用OpenXml从模板创建xlsx。一些代码将通过我的数据进行迭代,因为我知道从哪里开始输入数据(templatesettings.xml),所以我应该能够无错误地填充所有数据
我的解决方案基于以下tut:


让我们希望它能像在我脑海中一样运作良好。

看看这些项目:

  • -成熟且稳定,但尚不支持xlsx(开放式XML)格式
  • -阿尔法和主动-看起来很有希望
  • -稳定和活跃
  • -阿尔法和活跃-仍然年轻

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

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

我不完全理解您的意思。。你能说得更具体一点吗?虽然可能,但我不确定我是否愿意尝试在没有任何工具或工作基础模板的情况下手动编写代码和测试XSLT。我想说“没有任何工具”是指像Andrew提到的那些过于显式的工具包。当然,我会建议使用一个好的XML/XSLT工具包来构建这个解决方案所需的XSLT(我个人的首选之一是XMLSpy或Visual Studio)。我已经在使用SimpleOxML库,但感谢再次提及。这是一个很棒的库。嗨,你能详细介绍一下你的解决方案吗?我主要想看看你的excel模板是什么样子的。