繁体   English   中英

是否有任何第三方工具可以将XML数据导入Excel?

[英]Are there any third-party tools which allow importing XML data into Excel?

我们当前正在开发一个使用C#中的COM Interop将数据导入Excel工作簿的应用程序。 这些数据相当复杂且冗长,因此我们一直在Excel中使用“从XML导入”功能。 由于在服务器上运行Excel存在问题,因此我们现在正在考虑迁移到用于创建工作簿的第三方解决方案,例如SpreadsheetGear或Aspose。

SpreadsheetGear和Aspose不支持XML导入。 有谁知道另一个第三方友好的服务器友好工具吗?

-编辑-数据来自DB2数据库,我们将其放入C#类中,然后序列化为XML。 然后,我们将XML导入大约30个表和其他单元格中。 然后,我们将表格复制并粘贴到输出表中,然后重复使用原始表以导入更多表。

-编辑-输出是一张纸上具有多个表和字段的表单。 XML映射所提供的部分帮助是跟踪单元的位置,而不必将单元坐标大量地硬编码到代码中。

您可以看一下SSIS。 这具有将XML设置为数据源和将电子表格设置为目标的便利。 (或相反亦然)。

EPPlus是一个非常不错的库,但我不知道您可以直接导入XML,但可以直接导入csv文件,示例中有示例。

实施起来还是很容易的。

尽管我尚未找到允许该功能的第三方工具,但Aspose.Cells具有“智能标记”功能,可让您以类似于XML映射的方式指定特定的单元。 我相信这可能是我一直在寻找的解决方案。

将XML加载到数据集中,然后使用EPPlus从excel中取出数据表并从中创建一个excel文件:

DataSet ds = new DataSet();
            DataTable dt = ds.Tables[0];
            using (ExcelPackage pck = new ExcelPackage())
            {
                //Create the worksheet
                ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Calls");

                //Load the datatable into the sheet, starting from cell A1. Print the column names on row 1
                ws.Cells["A1"].LoadFromDataTable(dt, true);

                Byte[] bin = pck.GetAsByteArray();

                string file = filePath;
                File.WriteAllBytes(file, bin);

            }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM