![](/img/trans.png)
[英]Are there any third-party profiling tools for C# in Visual Studio?
[英]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.