如何使用 Open XML SDK 和 .Net 将 XML 文档加载到 Excel 中

发布于 2024-12-19 20:29:30 字数 256 浏览 0 评论 0原文

在WPF桌面应用程序中,我需要在没有安装office的生产服务器上创建Excel 2007/2010。我有一堆 XML 文件,我想将它们加载到工作簿的单独页面中,模仿“数据>获取外部数据>从 XML 导入”操作,并生成类似以下内容的内容:

The Excel worksheet

我认为我最好的选择是 Open XML SDK,但我不确定这是否可行。

In a WPF desktop application, I need to create an Excel 2007/2010 on a production server without office installed. I have a bunch of XML files which I want to load into separate pages of the workbook, mimicking the 'Data>Get External Data>From XML Import' operation, and resulting in something like:

The Excel worksheet

I think my best bet would be the Open XML SDK, but am not sure this is possible.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

落墨 2024-12-26 20:29:31

我建议查看 ClosedXML (可怕的名字),通过 OpenXML 标准进行高级 Excel 文件操作。它抽象了直接处理 OpenXML 接口的大量复杂性。

小例子:

var workbook = new XLWorkbook();
var worksheet = workbook.Worksheets.Add("Sample Sheet");
worksheet.Cell("A1").Value = "Hello World!";
workbook.SaveAs("HelloWorld.xlsx");

I'd suggest looking at ClosedXML (horrible name) for doing high-level Excel file manipulation through the OpenXML standard. It abstracts out a lot of the complexity of dealing directly with the OpenXML interfaces.

Tiny example:

var workbook = new XLWorkbook();
var worksheet = workbook.Worksheets.Add("Sample Sheet");
worksheet.Cell("A1").Value = "Hello World!";
workbook.SaveAs("HelloWorld.xlsx");
蹲墙角沉默 2024-12-26 20:29:31

您可以使用Templater。免责声明:我是该库的作者。

代码看起来像这样:

var dataSet = new DataSet();
dataSet.ReadXml("test1.xml");
dataSet.ReadXml("test2.xml");
using (var doc = Configuration.Factory.Open("test.xlsx"))
    doc.Process(dataSet);
Process.Start("test.xlsx");

You could use Templater. Disclaimer: I'm the author of the library.

The code would look something like this:

var dataSet = new DataSet();
dataSet.ReadXml("test1.xml");
dataSet.ReadXml("test2.xml");
using (var doc = Configuration.Factory.Open("test.xlsx"))
    doc.Process(dataSet);
Process.Start("test.xlsx");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文