PHP SDK: Документы: чтение с сайта и из байтов
$ctx->documents() читает Excel, PDF, Word, CSV и текстовые файлы. Вместо установки библиотек или открытия файловой системы используйте общий обработчик. Он не запускает макросы, формулы, JavaScript и внешние связи документа.
fromUrl
fromUrl(string $url, string $name = 'document'): Document
Скачать файл до 10 MiB через сетевые настройки текущего источника. Действуют ограничения адресов, перенаправлений, robots.txt, частоты запросов и прокси. Имя определяется из URL; для адреса без расширения передайте его вторым аргументом.
$document = $ctx->documents()->fromUrl('https://example.com/files/catalog.xlsx');
foreach ($document->rows('Остатки') as $row) {
$ctx->log(json_encode($row, JSON_UNESCAPED_UNICODE));
}
fromBytes
fromBytes(string $content, string $name): Document
Разобрать уже полученные байты до 8 MiB. Имя помогает определить текстовые и старые Office-форматы; содержимое также проверяется по сигнатуре.
$document = $ctx->documents()->fromBytes("Артикул;Остаток\nTEST-001;17", 'report.csv');
$rows = $document->rows();
Оба метода возвращают Document. Для почтовых файлов используйте Mail::document: там дополнительно проверяются владелец, права и срок хранения.
Разбор ограничен восемью документами на прогон. Большие файлы могут вернуть частичный результат с complete() = false. Повреждённый, зашифрованный или неподдерживаемый файл вызывает понятную ошибку. Пароли к документам не передаются.
coordinates
coordinates(): SheetCoordinates
Утилиты адресации Excel, без загрузки документа и сетевого вызова.
$coordinates = $ctx->documents()->coordinates();
$name = $coordinates->columnName(27);