我想在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是否包含這種轉換邏輯,還是隻將工作表的內容表示爲類?
你可以試試免費的Excel-Reader/Writer EPPLUS。我找不到它的功能表,但它是巨大的... –
@ChristianSauer謝謝。看起來它是在2011年5月開發的(https://epplus.codeplex.com/discussions/257364),所以我跟進了一下,詢問它是否還在。 –
啊請在這裏添加結果,謝謝! –