Сравнение функциональности и производительности Aspose.Cells для Go через C с Excelize, Tealeg/xlsx и Go OLE.
Contents
[
Hide
]
Следующее представляет собой всестороннее сравнение Aspose.Cells для Go (через C) с другими основными библиотеками обработки Excel на языке Go (Excelize, tealeg/xlsx, go-ole) с точки зрения функциональности, производительности и сценариев использования.
Различия в базовом позиционировании и структуре
| Название библиотеки | Тип | Внутреннее реализованиe | Зависимость от CGO | Кроссплатформенная развертка |
|---|---|---|---|---|
| Aspose.Cells для Go | Коммерческая библиотека (MIT/Платная) | Собственный движок, обертка на Go через CGO | ✅ Да | Поддержка Windows, Linux |
| Excelize | Open Source библиотека (MIT) | Чистая реализация на Go | ❌ Нет | Поддержка Windows, Linux, MacOS |
| tealeg/xlsx | Open Source библиотека (BSD) | Чистая реализация на Go | ❌ Нет | Поддержка Windows, Linux, MacOS |
| go-ole | Open Source библиотека (BSD) | Интерфейс Windows OLE/COM на Go | ✅ Да (только Windows) | Только Windows |
Основные различия
- Aspose.Cells for Go via C++ — промышленного класса коммерческая библиотека с наиболее полно функциональностью, однако требует платной лицензии.
- Excelize в настоящее время является самой активной и открытой библиотекой Go, полностью на Go.
- Tealeg/xlsx — ранняя открытая библиотека с более базовыми функциями и медленным обслуживанием.
- Go-ole — это схема автоматизации COM только для Windows, которая зависит от установки Excel и не рекомендуется для серверных сред.
Сравнение функций
Сравнение поддерживаемых форматов файлов
| Формат таблицы | Aspose.Cells for Go via C++ | Excelize | Tealeg/xlsx | Go-OLE (Excel-приложение) |
|---|---|---|---|---|
| Xlsx | ✅ Да | ✅ Да | ✅ Да | ✅ Зависит от Excel |
| Xlsb | ✅ Да | ❌ Нет | ❌ Нет | ✅ Зависит от Excel |
| Xls | ✅ Да | ❌ Нет | ❌ Нет | ✅ Зависит от Excel |
| Xlsm | ✅ Да | ✅ Да | ✅ Да | ✅ Зависит от Excel |
| Xltm | ✅ Да | ✅ Да | ✅ Да | ✅ Зависит от Excel |
| Xltx | ✅ Да | ✅ Да | ✅ Да | ✅ Зависит от Excel |
| Csv | ✅ Да | ❌ Нет | ❌ Нет | ✅ Зависит от Excel |
| Ods | ✅ Да | ❌ Нет | ❌ Нет | ✅ Зависит от Excel |
| Html | ✅ Да | ❌ Нет | ❌ Нет | ❌ Нет |
| Numbers | ✅ Да | ❌ Нет | ❌ Нет | ❌ Нет |
| Json | ✅ Да | ❌ Нет | ❌ Нет | ❌ Нет |
| Xml | ✅ Да | ❌ Нет | ❌ Нет | ❌ Нет |
| SpreadsheetML | ✅ Да | ❌ Нет | ❌ Нет | ❌ Нет |
Поддерживаемые функции таблиц
| Возможности библиотеки | Aspose.Cells for Go via C++ | Excelize | Tealeg/xlsx | Go-OLE (Excel-приложение) |
|---|---|---|---|---|
| Чтение/Запись (поддержка формата файла) | ✅ Да | ✅ Да | ✅ Да | ✅ Да |
| Ячейки/Строки/Колонки/Листы | ✅ Да | ✅ Да | ✅ Да | ✅ Да |
| Стиль | ✅ Да | ✅ Да | ✅ Да | ✅ Да |
| Расчет формул | ✅ Да | ✅ Да (частично) | ❌ Нет | ✅ Да (вычислено в Excel) |
| Диаграмма/Картинка | ✅ Да | ✅ Да (частично) | ❌ Нет | ✅ Да |
| Свободная таблица (Пивоттаблица) | ✅ Да | ✅ Да | ❌ Нет | ✅ Да |
| Условное форматирование | ✅ Да | ✅ Да | ❌ Нет | ✅ Да |
| Проверка данных | ✅ Да | ✅ Да | ❌ Нет | ✅ Да |
| Шифрование/защита паролем | ✅ Да | ✅ Да | ❌ Нет | ✅ Да |
| Проверка данных | ✅ Да | ✅ Да | ❌ Нет | ✅ Да |
| VBA макрос | ✅ Да, чтение | ❌ Нет | ❌ Нет | ✅ Да |
| Проверка данных | ✅ Да | ✅ Да | ❌ Нет | ✅ Да |
Сравнение производительности
-
Тестовая среда: Процессор: 12-е поколение Intel(R) Core(TM) i7-12700 (2.10 ГГц) Установленная оперативная память: 64.0 ГБ (доступно 63.7 ГБ) ОС: Microsoft Windows 11 Pro Версия ОС: 10.0.26100 Архитектура ОС: 64-битная Версия Go: go version go1.24.5 windows/amd64 Aspose.Cells for Go via C++: 25.9.0 Excelize: 1.4.1
-
Тестовый сценарий: предполагается большой файл, 10 листов, 100 000 строк x 250 столбцов, включая форматирование
-
Результаты выполнения:
- Время выполнения Excelize: 35 минут (Время начала: 2025-10-09T10:04:16+08:00, Время окончания: 2025-10-09T10:39:53+08:00), размер сгенерированного файла: 1.11 ГБ.
- Aspose.Cells for Go via C++(модель 1) работает 27 минут (Время начала: 2025-10-09T10:57:55+08:00, Время окончания: 2025-10-09T11:16:24+08:00 ), размер сгенерированного файла: 936MB.
- Aspose.Cells for Go via C++(модель 2) работает 16 минут (Время начала: 2025-10-09T12:01:26+08:00, Время окончания: 2025-10-09T12:17:17+08:00 ), размер сгенерированного файла: 1.16ГБ.