2012-12-18 38 views
3

我想在Web應用程序中使用Excel的服務器端C#的XML Map功能。 XML映射使您能夠將XML模式與工作簿相關聯,並指定哪些單元映射到模式的哪些部分。從那裏您可以導入XML文件以更新單元格值,並導出包含最新值的XML(即,如果它們已手動更改)。您可以在Excel的「開發人員」選項卡上手動執行此操作。往返XML - > Excel - > XML

我們已經擁有Aspose Cells的許可證,但是(儘管最近在這方面做了一些工作),它似乎並不完全支持XML地圖。有沒有人有過這方面的成功?

我已經使用Excel Interop創建了一個測試,它可以工作(即可以編程方式設置XML映射並使用它來導入和導出值)。它歸結爲:

XmlMap map = workbook.XmlMaps.Add(xmlSchema, Missing.Value); 

// map cell C3 to the question text 
var worksheet = (Worksheet)workbook.Worksheets[1]; 
Range cell = (Range)worksheet.Cells[3, 3]; 
cell.XPath.Clear(); // just in case 
cell.XPath.SetValue(map, "/Root/Question/Text", Missing.Value, false); 

// import the XML to populate the mapped cells 
map.ImportXml(xmlData, true); 

但是,這不是真的適合在服務器上使用,因爲它依賴在後臺運行Excel進程。

是否可以使用Microsoft的Open XML SDK通過XML映射導入或導出XML?我找到了Map class,但我認爲這隻代表已存在的地圖的元數據。 SDK是否包含這種轉換邏輯,還是隻將工作表的內容表示爲類?

+1

你可以試試免費的Excel-Reader/Writer EPPLUS。我找不到它的功能表,但它是巨大的... –

+0

@ChristianSauer謝謝。看起來它是在2011年5月開發的(https://epplus.codeplex.com/discussions/257364),所以我跟進了一下,詢問它是否還在。 –

+0

啊請在這裏添加結果,謝謝! –

回答

4

爲了進一步爲您提供關於XMLMaps功能的詳細信息,目前的Aspose.Cells只支持有關XML映射以下選項:

  1. 它可以保留在模板文件XmlMaps和文件重新保存它。
  2. 它支持從外部來源導入XML映射。
  3. 它可以刪除或檢查XML映射。

目前,它不支持的時刻如下:

  1. 它不能XML地圖添加到Excel文件。
  2. 它不導出XML地圖保存一個外部文件(我們將盡力支持在2013年第二季度導出XML地圖)

我的名字是Nayyer和我在的Aspose開發佈道者。