簡體   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