Aspose.Cells for Java По сравнению с конкурентами с открытым исходным кодом
Обзор
Для большинства бизнес-сценариев требуются сложные отчеты с богатым содержанием и сфокусированные на потребностях конкретных решений или задач, для которых общее руководство будет использовать их. Они также требуют некоторых средств сбора данных, анализа и взаимодействия с системами баз данных.
Распространенным решением является использование электронных таблиц для сбора данных, анализа и в качестве инструмента презентации. Решение должно быть способно создавать полностью отформатированные файлы Excel Microsoft, которые могут анализировать бизнес-сценарий и, в идеале, расширять эти базовые функции для изучения процессов сбора и экспорта данных в другие широко используемые офисные приложения. Эти разработки могут включать использование встроенных возможностей и функций Microsoft Excel.
Сегодня на рынке мы сталкиваемся с различными компонентами электронных таблиц, которые действительно обещают многофункциональные API для управления электронными таблицами. Здесь мы проводим анализ функций Aspose.Cells for Java по сравнению с его конкурентами с открытым исходным кодом JExcelAPI и HSSF POI. Позвольте мне дать некоторое представление о трех первых.
Aspose.Cells for Java
Aspose.Cells for Java — это гибкий компонент, позволяющий приложениям Java создавать электронные таблицы Excel и управлять ими без установки Excel в системе (клиент или сервер). В отличие от аналогичных продуктов других поставщиков, Aspose.Cells for Java поддерживает не только создание электронных таблиц и основные функции форматирования файлов, но и ряд дополнительных функций. Эти расширенные функции позволяют разработчикам легко управлять содержимым электронных таблиц, форматированием ячеек и параметрами защиты файлов.
Aspose.Cells for Java также может импортировать данные в электронные таблицы из различных источников данных, добавлять общие и сложные математические формулы, дату/время, финансовые, текстовые формулы и функции, импортировать изображения (поддерживаются все основные форматы, включая BMP, GIF, JPG, PNG, WMF, EMF и многое другое), создавать комментарии, создавать объекты рисования и элементы управления, а также выполнять ряд других задач.
Aspose.Cells for Java также поддерживает надстройки, VBA и макросы.
Открыть и сохранить
Помимо поддержки общих функций, таких как создание или чтение собственных файлов Excel, Aspose.Cells for Java также предлагает множество полезных функций, таких как сохранение и открытие файлов Excel (Excel 97 - Excel 2007) в потоки и из потоков, импорт и экспорт данных из ResultSet и массива,
Aspose.Cells может импортировать диаграммы, именованные диапазоны, верхние и нижние колонтитулы со всеми атрибутами, которые предоставляет Microsoft Excel, вставлять гиперссылки и изображения и импортировать формулы из электронной таблицы конструктора.
Форматирование
Форматирование данных рабочего листа важно, поскольку оно может изменить смысл ваших данных. Если вы планируете распечатать рабочий лист, отправить его по электронной почте клиентам или показать своему начальнику, вам нужно подумать о том, будет ли он отформатирован в удобном для просмотра виде. Тщательное использование цвета, заливки, границ, шрифтов, форматирования чисел, выравнивания, отступов и ориентации может сделать разницу между грязным комком данных и рабочим листом, с которым легко работать и понимать.
Aspose.Cells for Java позволяет легко рисовать границы вокруг ячеек и диапазонов ячеек. Кроме того, AIP может применять настройки шрифта (семейство и тип, стиль, размер, цвет и выравнивание) и затенять ячейки фоновыми узорами. API достаточно эффективен, чтобы вы могли форматировать всю строку или столбец, устанавливать выравнивание, переносить и поворачивать текст в ячейках.
Aspose.Cells for Java поддерживает все типы форматов чисел, включая общий формат, числа в десятичной системе счисления, символы валюты, проценты, научный формат, значения даты/времени и даже пользовательские форматы чисел.
Aspose.Cells позволяет разработчикам автоматически подгонять строки и столбцы одним действием, а также настраивать все типы параметров страницы в удобном API: верхнее, левое, нижнее, правое, поля верхнего и нижнего колонтитула, ориентация — книжная или альбомная — масштабирование, размер бумаги, область печати, повторяющиеся строки и столбцы и многое другое.
Уникальные черты
Существует также ряд уникальных функций, которые разработчики найдут только в Aspose.Cells for Java, например, поддержка широкого спектра форматов, включая XLS, XLT, XLSX, CSV, SpreadsheetML, с разделителями табуляции, TXT, XML и 071618344.
API также позволяет разработчикам добавлять копию существующего рабочего листа (с полным содержимым, изображениями и диаграммами) в файл, устанавливать градиентный фон для диаграмм с помощью API, создавать комментарии, устанавливать настройки локали и региона, автоматические фильтры и разрывы страниц. , задавать сложные формулы, условное форматирование, все типы параметров защиты, представленные в Microsoft Excel XP или более поздних версиях, и управлять именованными диапазонами.
Кроме того, Aspose.Cells добавляет пользовательскую диаграмму API и эффективный механизм расчета формул.
Попробуйте Aspose.Cells for Java
Aspose.Cells for Java имеет огромный список функций. Чтобы узнать больше о функциях и получить руководство программиста, см.документация ионлайн-демонстрации.
Пожалуйста, попробуйте компонент, чтобы увидеть разницу между ним и его конкурентами. Пробная версия абсолютно бесплатна без каких-либо ограничений по времени.Скачать пробная версия бесплатно.
Другие API
JExcelAPI
JExcelAPI — это Java API, используемый для чтения, записи и изменения электронных таблиц Excel. Это открытый исходный код Java API, который позволяет Java разработчикам читать электронные таблицы Excel и динамически создавать электронные таблицы Excel. Кроме того, он содержит механизм, который позволяет Java приложениям читать электронную таблицу, изменять ячейки и записывать новую электронную таблицу.
На момент написания он имеет ограниченный набор функций. Он поддерживает: чтение и запись собственного файла Excel Microsoft (Excel97-2003) только в формате файла XLS. Он имеет некоторую ограниченную поддержку расчета формулы. Он может манипулировать шрифтами, поддерживать форматирование чисел и дат, изменять существующие рабочие листы, настройки локали, сохранять диаграммы (но не позволяет разработчикам создавать или манипулировать диаграммами), вставлять изображения и так далее.
Ограниченная поддержка диаграмм
JExcelApi имеет ограниченную поддержку диаграмм: он не поддерживает создание диаграмм и управление ими. При копировании электронной таблицы, содержащей диаграмму, диаграмма записывается в сгенерированную электронную таблицу (при условии, что лист, содержащий диаграмму, помимо самой диаграммы содержит другие данные). Вся информация об изображении сохраняется при копировании файлов Excel, однако при добавлении изображения в электронную таблицу поддерживаются только изображения в формате PNG.
Не удается скопировать рабочие листы
Нет API для прямого копирования рабочих листов внутри или между книгами. Эта задача может быть выполнена косвенным способом, но требует выполнения некоторой работы. Например, используя циклы, копируйте ячейку за ячейкой с помощью метода WritableCell.copyTo(), который создаст глубокую копию. Однако формат копируется только поверхностно, поэтому вам нужно будет получить формат ячейки и использовать его конструктор копирования, а затем вызвать WritableCell.setCellFormat() в ячейке, которую вы только что скопировали. Это довольно большая работа.
Без оптимизации
Другим ограничением является то, что JExcelAPI не выполняет оптимизацию для уменьшения размера файла, мы не должны удивляться, увидев выходной файл, сгенерированный компонентом, с огромным размером в мегабайтах.
JExcelAPI не имеет API для автоматического подбора строк или столбцов. Вам нужно будет написать код, который сканирует ячейки в каждом столбце, вычисляет максимальную длину, а затем делает вызовы WritableSheet.setColumnView() и Writable Sheet.setRowView() соответственно.
Отсутствующие функции
Есть еще несколько препятствий: API не поддерживает сводные таблицы и раскрывающиеся списки. Он имеет ограниченные параметры проверки для установки в ячейках. Параметры настройки страницы и печати поддерживаются не полностью, например, поддерживаются повторяющиеся строки и столбцы, а также не все типы параметров защиты (включая листы, связанные с защитой паролем). Он также не поддерживает сортировку данных, автоматическую фильтрацию данных, условное форматирование, объекты рисования, элементы управления и многие другие полезные функции.
POI-HSSF
HSSF — это компонент POI, который читает и записывает электронные таблицы Excel. Он имеет расширенный набор функций по сравнению с JExcelAPI, включая чтение и запись собственного файла Excel Microsoft (формат файла Excel97-2003 - XLSX OOXML еще не поддерживается), форматирование ячеек (числовые форматы, шрифты, цвета, границы, выравнивание и т. д.) , объединение ячеек, параметры настройки страницы, импорт изображений, фигур, именованных диапазонов, создание комментариев, верхних и нижних колонтитулов, гиперссылок, автоподбор строк и столбцов и т. д.
Ограниченная поддержка диаграмм
Есть несколько известных ограничений для POI-HSSF API. Например, в настоящее время вы не можете создавать диаграммы. Однако вы можете создать диаграмму в Excel, изменить значения данных диаграммы с помощью HSSF и написать новую электронную таблицу. Еще одна поддержка сводных таблиц, генерация сводных таблиц невозможна.
Расчет формулы
Хотя модель org.apache.poi.hssf.usermodel POI поддерживает формулы, в ней отсутствует мощный механизм расчета формул. Он поддерживает формулы, содержащие строковые ссылки на ячейки, целые числа и литералы с плавающей запятой, относительные или абсолютные ссылки, арифметические и логические операторы, но не поддерживает формулы массивов, унарные операторы и трехмерные ссылки.
Отсутствующие функции
HSSF API также не поддерживает сводные таблицы. Он имеет ограниченные параметры проверки данных для установки в ячейках. Он также не поддерживает такие функции, как сортировка данных и автоматическая фильтрация данных.
Сравнение функций
В следующей таблице предпринята попытка представить обзор функций того, как Aspose.Cells for Java соответствует компонентам с открытым исходным кодом (упомянутым выше), хотя она не претендует на то, чтобы охватить все функции, предоставляемые участвующими продуктами. Это всего лишь набросок, сделанный в определенное время, и вполне возможно, что отсутствующие функции будут поддерживаться, когда вы будете зачитывать документ.
Особенность | JExcelAPI | HSSF POI | Aspose.Cells for Java |
---|---|---|---|
Форматы файлов | |||
Чтение и запись форматов файлов (XLS, XLT, XLSX, CSV, SpreadsheetML, разделители табуляцией, TXT, XML и HTML) | Частично поддерживается | Частично поддерживается | Поддерживается |
Открыть файл и сохранить в поток | Поддерживается | ||
Преобразование файла Excel в документ PDF | Поддерживается | ||
Файлы, защищенные паролем | Поддерживается | Поддерживается | |
Управление содержимым электронной таблицы | |||
Изменить свойства документа файлов Excel | Поддерживается | ||
Экспорт данных рабочего листа в массив | Поддерживается | ||
Импорт данных из ResultSet | Поддерживается | ||
Импорт данных из массива, коллекции | Поддерживается | ||
Добавить копию существующего рабочего листа (все содержимое, включая изображения и диаграммы) | Частично поддерживается | Частично поддерживается | Поддерживается |
Импорт изображений | Поддерживается | ||
Импорт диаграмм | Поддерживается | ||
Установите градиентный фон для диаграмм, используя API | Поддерживается | ||
Защитите рабочий лист, включая содержимое, объекты и сценарии | Частично поддерживается | Поддерживается | Поддерживается |
Создавайте автофильтры с помощью API | Поддерживается | ||
Особенности настройки страницы (верхнее, левое, нижнее, правое, поля верхнего и нижнего колонтитула, ориентация — книжная или альбомная, масштабирование, размер бумаги, область печати, повторяющиеся строки и столбцы) | Частично поддерживается | Поддерживается | Поддерживается |
Горизонтальные и вертикальные страницы прорываются через API | Поддерживается | Поддерживается | Поддерживается |
Копировать и перемещать рабочие листы внутри и между книгами | Поддерживается | Поддерживается | |
Вставка и удаление строк и столбцов | Поддерживается | Поддерживается | |
Автоподбор строк и столбцов | Поддерживается | Поддерживается | |
Копировать строки и столбцы | Поддерживается | ||
Сортировка данных | Поддерживается | ||
Отследить прецедентов и иждивенцев | Поддерживается | ||
Автофильтрация | Поддерживается | ||
Проверка данных (все типы) | Частично поддерживается | Частично поддерживается | Поддерживается |
Импорт формул из электронной таблицы конструктора | Частично поддерживается | Частично поддерживается | Поддерживается |
Набор сложных формул через API | Поддерживается | ||
Условное форматирование | Поддерживается | Поддерживается | |
Активация листов и активация Cell в книге. | Поддерживается | Поддерживается | Поддерживается |
|Расширенные возможности|||| | Умные маркеры||| Поддерживается| | Создание стандартных диаграмм (столбцов, гистограмм, линий, круговых, точечных, площадных, кольцевых, радарных, поверхностных 3D, пузырьковых, биржевых, цилиндрических, конусных, пирамидальных и т. д.)||| Поддерживается| | Пользовательская диаграмма API||| Поддерживается| | Настройки свойств документа||| Поддерживается| | Дополнительные параметры защиты Excel XP||| Поддерживается| | Надстройки, VBA, макросы||| Поддерживается| | Управление именованными диапазонами| Поддерживается| Поддерживается| Поддерживается| | Сводные таблицы||| Поддерживается| | Создание общих объектов рисования, форм и элементов управления|| Поддерживается| Поддерживается| |Вставка элементов управления в диаграммы||| Поддерживается| | Механизм расчета формулы||| Поддерживается| | Найти API| Поддерживается| Поддерживается| Поддерживается|