Почему не использовать Open XML SDK

Что такое Open XML SDK?

Согласно библиотеке MSDN, Open XML SDK определяется как:

“Open XML SDK 2.5 упрощает задачу манипулирования пакетами Open XML и базовыми элементами схемы Open XML внутри пакета. Open XML SDK 2.5 инкапсулирует множество общих задач, выполняемых разработчиками с пакетами Open XML, позволяя вам выполнять сложные операции всего с несколькими строками кода.”

Документы OOXML в основном представляют собой сжатые XML-файлы, и Open XML SDK - это набор классов, который позволяет вам работать с содержимым документов OOXML в строго типизированном виде. Вместо распаковки файла для извлечения XML, загрузки этого XML в древовидное представление DOM и работы непосредственно с XML-элементами и атрибутами Open XML SDK предоставляет классы для выполнения этих действий.

Что такое Aspose.Cells?

Aspose.Cells - это библиотека классов, которая позволяет приложениям выполнять следующие задачи по обработке электронных таблиц:

  • Качественные преобразования между всеми популярными форматами Microsoft Excel, включая преобразование в PDF, HTML, TIFF и печать.
  • Программирование с моделью объекта рабочей книги.
  • Возможность создания документов из фрагментов, из одного или нескольких документов, автоматически объединяя данные по стилистическому форматированию, диаграммам и графикам.
  • Функции высокого уровня, такие как импорт данных из различных источников данных, включая массив, ArrayList, DataTable / ResultSet.
  • Надежный движок расчета формул, поддерживающий практически все стандартные и продвинутые функции Microsoft Excel.

Сравнение Open XML SDK и Aspose.Cells

В следующей таблице сравниваются функции Open XML SDK и Aspose.Cells.

Функция или Категория функций Open XML SDK Aspose.Cells
Поддерживаемые форматы Excel и другие XLSX XLS, CSV, SpreadsheetML 2003, XLSX, HTML, разделенные табуляцией, ODS, обычный текст (TXT), PDF, XPS
Конвертируйте между форматами Excel Нет Да

Программирование на высоком уровне с объектной моделью книги:

- Поиск и замена.

- Составление электронных таблиц.

- Копирование фрагментов и листов между книгами.

Нет Да
Детальное программирование с объектной моделью документа, доступ к отдельным элементам и свойствам форматирования всех элементов электронных таблиц. Да Да
Низкоуровневый прямой и полный доступ к базовым элементам и атрибутам XML, таким как идентификаторы отношений, идентификаторы списка документа OOXML. Да Нет

Генерация отчетов, вставка данных в документы:

- Экспорт/импорт данных из/в DataTable / ResultSet.

- Функция Smart Markers.

- Вставка/удаление строк/столбцов/диапазонов.

- Пользовательские источники данных.

Нет Да

Отрисовка и печать:* Отображение страниц электронных таблиц в растровые изображения (TIFF, многостраничный TIFF, PNG, JPEG, BMP).* Отображение страниц электронных таблиц в векторные изображения (EMF).

- Преобразование графиков в изображения (TIFF, многостраничный TIFF, PNG, JPEG, BMP, EMF и т. д.)

- Указание разрешения изображения, качества, сжатия и других параметров.

- Печать электронных таблиц с использованием инфраструктуры печати .NET. Компонент имеет встроенный метод печати для печати листов, как показано в предварительном просмотре печати Microsoft Excel.

Нет Да
Вычисление/Пересчет формул динамически Нет Да
Поддерживаемые платформы Windows, .NET Windows, Linux, Java, .NET, Mono

Вы можете сравнить OpenXML с Aspose.Cells Для этого мы предлагаем ознакомиться с проектом Aspose.Cells for OpenXML - он показывает, как различные задачи могут быть выполнены с использованием Aspose.Cells for .NET API по сравнению с OpenXML. Проект также охватывает функции для работы с текстовыми документами, которые доступны только в Aspose.Cells, но не в OpenXML.

Этот проект также полезен для разработчиков, которые планируют перейти с OpenXML на Aspose.Cells.

Заключение: Open XML SDK и Aspose.Cells не конкурируют напрямую, потому что они решают совершенно разные задачи и адресуют аудитории.

Почему не Open XML SDK

Open XML SDK - это библиотека классов, предоставляющая типизированный способ работы с документами OOXML. Aspose.Cells - очень полезная библиотека для обработки электронных таблиц, которая обеспечивает отличную поддержку всех форматов файлов Microsoft Excel и других.

Если все, что вам нужно сделать, - это довольно простая операция программирования с документом XLSX, то Open XML SDK может быть подходящим выбором. С Open XML SDK вам будет достаточно комфортно выполнять простые задачи, такие как создание простого документа XLSX или удаление комментариев, заголовков/нижних колонтитулов, извлечение изображения или других. Некоторые задачи можно выполнить с помощью Open XML SDK, но нельзя выполнить с помощью Aspose.Cells. Например, если вам нужно прямой доступ к XML-элементам и атрибутам документа OOXML, то вам следует использовать Open XML SDK.

Однако, если вам нужно выполнять сложные операции с документами, такие как некоторые из следующих задач, то использование Aspose.Cells - ваш лучший вариант:

  • Поддержка других форматов файлов помимо XLSX.
  • Копирование фрагментов и листов между книгами или объединение книг таким образом, чтобы комбинировать объекты, стили и другое форматирование должным образом.
  • Замена форматированного или неформатированного текста.
  • Функции высокого уровня, такие как импорт данных из различных источников данных, включая массив, ArrayList, DataTable / ResultSet.
  • Создание бизнес-документа, например заказа с деталями заказа из источника данных.
  • Преобразование документа в PDF или XPS, чтобы он выглядел точно так же, как если бы его преобразовал Microsoft Excel.
  • Разработка приложения .NET или Java.