Часто задаваемые вопросы

Практические ответы на основные вопросы пользователей HotXLS

На этой странице собраны вопросы, которые чаще всего возникают при установке HotXLS, выборе между интерфейсами XLS и XLSX, оценке пробной версии, экспорте отчетов и развертывании приложений Delphi или C++Builder

Нативная библиотека Рабочие книги генерируются внутри вашего процесса Delphi или C++Builder
XLS и XLSX Отдельные интерфейсы сохраняют стабильность унаследованного кода XLS, в то время как XLSX развивается независимо
Используйте установщик Используйте установщик для обычной настройки; он определяет поддерживаемые версии RAD Studio
Без отчислений за выполнение Развертывайте приложения без лицензионных сборов за каждую копию

Установка и настройка IDE

Большинство вопросов по настройке касаются обнаружения IDE, поддерживаемых версий и дополнительного содержимого C++Builder

Какие версии Delphi и C++Builder поддерживаются?

Полный пакет поддерживает Delphi и C++Builder от XE5 до RAD Studio 13.1 Florence; установщик пробной версии в настоящее время предоставляет пакеты для RAD Studio 11.3, 12.3 и 13.1

Почему установщик отображает только некоторые версии IDE?

На странице IDE перечислены поддерживаемые установки RAD Studio, обнаруженные на текущем компьютере; если поддерживаемая IDE не указана, убедитесь, что RAD Studio установлена и что установщик запущен под тем же профилем пользователя Windows, которому принадлежат настройки IDE

Где появляются компоненты во время разработки?

Установщик регистрирует вкладку в Tool Palette под названием losLab; визуальными компонентами являются DataToXLS и GridToXLS

Почему пакеты или демонстрации C++Builder отсутствуют после установки?

Файлы пакетов C++Builder и демонстрационные проекты являются необязательным содержимым установщика; установите соответствующий флажок IDE C++Builder во время настройки, если вам нужна интеграция или демонстрации C++Builder

Поддерживаются ли Win32 и Win64?

Да, HotXLS предоставляет стандартные пакеты Win32 и Win64 для поддерживаемых версий IDE; установщик может зарегистрировать пути к библиотекам Win64x для перестроения исходного кода, но готовые пакеты Win64x в настоящее время не поставляются

Нужно ли мне устанавливать Microsoft Excel?

Нет, HotXLS напрямую читает, записывает, стилизует и экспортирует рабочие книги; он не требует Microsoft Excel, автоматизации Office, автоматизации COM или внешнего процесса электронных таблиц

Пробная версия

Пробная версия совместима по API с полной версией, но имеет неявные ограничения на размер рабочей книги

Какие ограничения применяются в пробной версии?

Для каждой рабочей книги пробная версия допускает до 5 листов, 100 строк на лист и 26 столбцов на лист; те же ограничения применяются как к интерфейсу XLS, так и к интерфейсу XLSX

Почему вывод моей пробной версии останавливается после столбца Z или строки 100?

Запись сверх лимитов пробной версии принимается API, но удаляется из сохраненного файла; полная версия снимает эти ограничения без необходимости изменения исходного кода

Будет ли пробная версия усекать файлы, которые я открываю?

Нет, открытие существующей рабочей книги с более чем 5 листами или более чем 100 строками и 26 столбцами не усекает файл; ограничения применяются к добавлениям листов, инициированным пользователем, и записи в ячейки после создания рабочей книги

Показывает ли пробная версия предупреждения при достижении лимита?

Нет, ограничения применяются скрыто: при превышении лимита пробной версии не выводится никаких диалоговых окон, строк журнала или исключений

Выбор API

HotXLS хранит классический API XLS и современный API XLSX раздельно, чтобы существующие проекты могли развиваться в своем собственном темпе

Следует ли мне использовать lxHandle или lxHandleX?

Используйте lxHandle для классических рабочих процессов Excel 97-2003 XLS и унаследованного кода отчетов; используйте lxHandleX и TXLSXWorkbook для файлов Excel 2007+ XLSX и специфических функций OOXML

Может ли один проект использовать оба интерфейса?

Да, приложения могут включать оба модуля и хранить отдельные объекты рабочих книг для каждого формата файла; это полезно при поддержке старого вывода XLS с одновременным добавлением новых отчетов XLSX

Почему некоторые функции XLSX недоступны через старый API XLS?

XLS и XLSX имеют разные модели файлов; концепции, предназначенные только для XLSX, такие как общие строки, стили OOXML, таблицы, листы диаграмм и связи пакетов, живут в lxHandleX, а не переносятся в классический интерфейс XLS

С чего мне следует начать при работе с примерами кода?

Начните с демонстраций QuickStart и ApiTour в папках демонстраций Delphi или C++Builder; для кода, специфичного для XLSX, используйте обзор интерфейса XLSX и демонстрации экспорта XLSX

Функции и ограничения XLSX

Интерфейс XLSX охватывает общие потребности генерации отчетов и документирует функции, которые намеренно зарезервированы

Какие функции XLSX поддерживаются?

TXLSXWorkbook поддерживает значения, формулы, явное вычисление формул, стили, пользовательские форматы чисел, ширину и высоту, объединенные ячейки, экспорт HTML на уровне диапазона, гиперссылки, комментарии, изображения, условное форматирование, проверку данных, фильтры, таблицы, диаграммы, форматированный текст, свойства документа, видимость листов, параметры страницы, сохранение с AES-шифрованием и открытие/сохранение на основе потоков

Могу ли я сохранять или открывать файлы XLSX из потоков?

Да, интерфейс XLSX поддерживает SaveAs(Stream) и Open(Stream), которые подходят для буферов памяти, полей BLOB базы данных, ответов HTTP и других путей хранения, не связанных с файлами

Как следует обрабатывать крупные экспорты XLSX?

Используйте интерфейс XLSX и включите Workbook.StreamingWrite, когда отчет генерируется лист за листом; потоковая запись снижает нагрузку на память рабочей книги во время сохранения

Может ли HotXLS открывать или сохранять архивы XLSX, зашифрованные паролем?

TXLSXWorkbook.SaveAsEncrypted может записывать контейнер XLSX, защищенный по стандарту ECMA-376 AES, если вы предоставляете непустой пароль; OpenEncrypted может использовать обычный Open для незашифрованных пакетов, но он по-прежнему вызывает EXlsxEncryptionNotImplemented для зашифрованных пакетов, пока не появится поддержка расшифровки; защита листа и рабочей книги остаются отдельными функциями блокировки в стиле Excel

Могу ли я сохранить макросы?

Интерфейс XLSX может сохранять байты полезной нагрузки vbaProject.bin по всей рабочей книге и предоставляет проанализированное представление ParsedVBAProject только для чтения для допустимого хранилища VBA; он не компилирует и не выполняет код VBA

Вычисляются ли формулы внутри HotXLS?

HotXLS записывает текст формулы в сохраненные рабочие книги, и приложения для работы с электронными таблицами могут пересчитывать эти ячейки при открытии файла; для явного вычисления в процессе как классический XLS, так и интерфейс XLSX предоставляют Calculate; назначьте OnUserFunction, если пользовательские или неподдерживаемые функции рабочего листа должны обрабатываться кодом приложения

Экспорт, развертывание и лицензирование

Эти ответы охватывают выходные форматы, ожидания по развертыванию и вопросы лицензирования, которые обычно задают перед выпуском приложения

Может ли HotXLS экспортировать форматы, отличные от XLS или XLSX?

Да, HotXLS включает помощники экспорта для таких форматов, как CSV, TSV, HTML и RTF; используйте интерфейс, соответствующий формату вашей рабочей книги, и выберите метод экспорта, необходимый для вашего рабочего процесса

Могу ли я использовать HotXLS в службах или инструментах пакетной обработки?

Да, поскольку HotXLS не автоматизирует Excel, он подходит для настольных приложений, служб, пакетных заданий, установщиков и серверных утилит, где автоматизация Office была бы хрупкой или недоступной

Взимаются ли лицензионные отчисления за выполнение?

Нет, HotXLS не требует отчислений за выполнение; вам нужны лицензии разработчика для программистов, создающих приложения с помощью этой библиотеки

Где мне следует искать информацию, прежде чем просить о помощи?