К содержимому

Документация

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);