使用XML数据创build基于模板的dynamicExcel文件
我目前正在寻找一种方法来创builddynamic的Excel文件,基于现有的模板,使用来自XML文件的数据。 例如; 我有一个模板ExcelTemplate.xlsx与一些布局。 用户调用将创build模板副本的方法,并使用来自XML的数据填充该方法。 之后,用户将得到与新创build的xlsx返回的MemoryStream。
任何人都有一个想法如何以最好的方式解决这个问题? 这应该运行在没有安装任何办公室的服务器上(作为服务)。
我已经使用ExcelPackage为此制定了一个解决scheme。
当你自己写这个(*没有使用其他工具),你可以考虑使用XSLT转换。 使用该模板作为XSLT的基础,将XML数据作为参数推入XSLT转换,获取新的XML(新的xslx)
希望这可以帮助,
看看这些项目:
- NPOI – 成熟且稳定,但尚不支持xlsx(Open XML)格式。
- ExtremeML – Alpha和Active – 看起来很有前途。
- SimpleOOXML – 稳定和活跃
- XOOX – Alpha和Active – 还很年轻。
我认为ExtremeML是您的要求的最佳匹配。 它对使用模板xslx文档有很好的支持,并且是可扩展的。
我正在考虑这样做:
- 创build一个template.xlsx和一个templatesettings.xml。
templatesettings.xml将包含我想要填充的表的startrow&startcol。
- 使用OpenXml从模板创build一个xlsx。 有些代码会遍历我的数据,因为我知道在哪里开始input我的数据(templatesettings.xml),所以我应该能够填充所有的数据无错误。
我的解决scheme是基于以下啧啧: 从服务器应用程序创build电子表格
让我们希望这个效果和我脑海中的一样好。