Вопрос по closedxml, .net, office-2007, openxml – Библиотеки OpenXML (альтернативы ClosedXML) [закрыто]

11

Какие библиотеки расширяют OpenXML (или добавляют некоторый уровень абстракции в OpenXML), похожий на ClosedXML?

Я ищу коммерческий или бесплатный инструмент по крайней мере с версией 1.0.

Заранее спасибо.

Я знаю, что это старый вопрос, но есть ли какие-то причины, в частности, почему вы не были довольны ClosedXML? Является ли это скорее политическим делом, когда ему нужен основной номер версии, или вы чувствовали, что ClosedXML недостаточно стабилен? jamiebarrow
Моя проблема с ClosedXML заключается в том, что во многих случаях он просто не работает. Ссылки на ячейки с формулами массива, формулами таблиц, SUMIF - вот некоторые вещи, которые полностью разрушают библиотеку. Vedran

Ваш Ответ

3   ответа
48

ClosedXML и SpreadsheetLight. Все три действительно замечательные библиотеки, которые делают работу с чрезвычайно запутанным OpenXML легкой задачей. Я решил использовать EPPlus по следующим причинам:

Initially, I was going to go with ClosedXML. It has great documentation and the object structure made a lot of sense to me. I have some charting requirements though and as of right now, ClosedXML doesn't have any charting functions.

Then I stumbled upon SpreadsheetLight which also has good docs and does support some charting. I also like the author's attitude and his commitment to his product. However, the project is built on top of the OpenXML 2.0 SDK, not 2.5, which is a deal breaker for me because I want to have the flexibility to work directly with OpenXML in the event that the library doesn't quite meet my needs. My project is targeting excel 2013 so I want to have the latest SDK to work with. ...Update! See ErrCode's comment below for additional info...

Finally, I came across EPPlus which has okay documentation and supports charting. It is has been downloaded far more times than the other two which gives me some security in knowing that others are using it and the community seems to be active around the project. They are also currently on beta 2 of version 4 which sounds promising from what others are saying. I'm also getting the gist that EPPlus has good performance (not that the others are necessarily bad) and the upcoming version 4 seems to be improving on that further.

Update

Еще одна очень полезная функция, которую я обнаружил включенной в 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 из-за объектной модели, но этот ответ полностью поколебал меня. Мне интересно, может ли EPPlus принять объектную модель ClosedXML как-нибудь? о чем ты думаешь?
Небольшое обновление: похоже, начиная с версии 3.4.5, Spreadsheetlight основан на OpenXML 2.5You will need to download and install the Open XML SDK 2.0 2.5 (version 3.4.5 onwards work with SDK 2.5) from Microsoft (it’s freely available)
Еще одно «преимущество» EPPLUS, на мой взгляд, заключается в том, что его пакет nuget не имеет никаких зависимостей, дажеDocumentFormat.OpenXml (в отличие от ClosedXML).
17

SpreadsheetLightОтказ от ответственности: я написал SpreadsheetLight.

Хорошая библиотека! Я задаюсь вопросом о производительности. Как это выглядит по сравнению с ClosedXML, EPPlus или другими библиотеками (коммерческими) GameBox.Spreadsheet или SpreadsheetGear 2010? Я знаю, что SpreadsheetLight - это бесплатная библиотека, но хотелось бы узнать ее скорость :)
14

EPPlus?

Слоган: Создание расширенных таблиц Excel 2007/2010 на сервере.

Лицензия: Универсальная публичная лицензия библиотеки GNU (LGPL).

С помощью EPPlus мы можем генерировать или записывать данные или диаграммы в файл Power Point? или это только ограничено только в Excel?
Да, вы можете создавать файлы PowerPoint. В итоге мы использовали определенные файлы шаблонов, а затем манипулировали ими с помощью EPPlus.

Похожие вопросы