與ClosedXML相似,某些庫是如何擴展OpenXML的(或者爲OpenXML添加一種抽象層)?OpenXML庫(ClosedXML的替代品)
我在尋找一個商業或免費軟件工具,至少1.0版本。
預先感謝您。
與ClosedXML相似,某些庫是如何擴展OpenXML的(或者爲OpenXML添加一種抽象層)?OpenXML庫(ClosedXML的替代品)
我在尋找一個商業或免費軟件工具,至少1.0版本。
預先感謝您。
SpreadsheetLight,它在Open XML SDK上內部運行。 MIT許可證。 免責聲明:我撰寫了SpreadsheetLight。
不錯的圖書館!我想知道性能。與ClosedXML,EPPlus或其他圖書館(商業)GameBox.Spreadsheet或SpreadsheetGear 2010相比,它看起來如何?我知道SpreadsheetLight是免費的圖書館,但想知道它的速度:) – Misiu
過去一週我一直在評估EPPlus,ClosedXML和SpreadsheetLight。所有這三個都是非常棒的庫,它們讓這些極其複雜的OpenXML變得輕而易舉。我決定與EPPlus一起出於以下原因:
最初,我打算使用ClosedXML。它有很好的文檔,對象結構對我很有意義。儘管目前我有一些圖表需求,但ClosedXML沒有任何圖表功能。
然後我偶然發現了SpreadsheetLight,它也有很好的文檔,並支持一些圖表。我也喜歡作者的態度和他對產品的承諾。然而,該項目建立在OpenXML 2.0 SDK的基礎上,而不是2.5,這對我來說是一個難題,因爲我希望在庫不能滿足我的需求的情況下能夠靈活地直接使用OpenXML。我的項目針對的是2013年的Excel,因此我希望能夠使用最新的SDK。
最後,我遇到了EPPlus,它具有良好的文檔和支持圖表。它的下載次數比其他兩次下載的次數多得多,這讓我知道其他人正在使用它,並且社區似乎對項目很活躍。他們目前也在版本4的測試版2中,這聽起來很有希望與其他人說。我也得到EPPlus有良好表現的要點(不是其他人肯定不好),而即將到來的第4版似乎正在進一步改進。
另一個非常有用的功能,我發現包含EPPlus是如何暴露的工作表的各個部分的XML。如果EPPlus不支持某項功能,則仍然可以編輯XML(在某些情況下)以獲得所需的輸出。例如,如果您有數據透視表圖表並希望實現多層次的標籤,您可以執行以下操作:
private void EnableMultiLevelLabels(ExcelChart chart)
{
var element = chart.ChartXml.GetElementsByTagName("c:catAx")[0];
if (element == null)
return;
var multiLevelLabelNode = element.AppendChildElementNode("c:noMultiLvlLbl");
if (multiLevelLabelNode != null)
multiLevelLabelNode.AppendNodeAttribute("val", "0");
}
我知道這是一個老問題,但是否有任何特別的原因,你不滿意於ClosedXML?是否更需要一個主要版本號的政治事物,還是您覺得ClosedXML不夠穩定? – jamiebarrow
我的問題與ClosedXML是它只是在許多情況下無法正常工作。用數組公式引用單元格,表格公式和SUMIF是完全分解庫的一些事情。 – Vedran