Что это
Microsoft Graph Excel нужен, когда приложение должно читать или обрабатывать книгу Excel без ручного копирования ячеек. API работает с поддерживаемыми книгами в OneDrive for Business, SharePoint и дисках групп. Это не способ открыть произвольный файл на локальном компьютере.
Можно работать с диапазонами, таблицами и диаграммами. Возвращаемые значения и формулы удобно сверять с книгой перед включением в отчет. Сам API не является нейросетью: интерпретация данных и выбор действий остаются задачей приложения.
Права нужно проверять по конкретному методу. Например, получение диапазона требует делегированного Files.ReadWrite, хотя это GET; application permissions для этого метода не поддерживаются. Поэтому нельзя обещать, что тот же пример заработает в фоновом сервисе без пользователя.
Ключевые параметры
- Категория: Операционные задачи
- Сложность: Для разработчика
- Запуск: Около 30 минут
- Open-source: Нет
- Данные: Не известно
- Чувствительные данные: Только с настройками
Сильные стороны
- Диапазон возвращает значения и формулы, которые можно сверить с исходными ячейками.
- Доступны объекты книги: листы, таблицы и диаграммы, а не только скачивание файла.
- Поддержка сессий помогает организовать последовательную работу с книгой.
- Данные остаются связаны с конкретным файлом и листом, что облегчает проверку источника отчета.
Ограничения
- Поддерживаются книги Office Open XML в предусмотренном корпоративном хранилище, а не любые форматы и диски.
- Метод чтения диапазона требует Files.ReadWrite: даже тест чтения получает чувствительное разрешение.
- Для worksheet-range не поддерживается application access без пользователя.
- Операции записи могут изменить исходный файл; тип сессии и параллельные изменения требуют контроля.
Как использовать
1. Подготовка. Используйте учебную рабочую учетную запись и отдельную книгу Test.xlsx в OneDrive for Business или SharePoint. Заполните A1:C3: заголовки Товар, Количество, Цена; две строки с числами 2 и 10, затем 1 и 15. Запишите ID файла и ID листа, полученные через Graph для этой книги.
2. Настройка. Получите делегированный OAuth-токен с Files.ReadWrite и проверьте согласие организации. Это минимальное разрешение именно для worksheet-range; app-only не поддерживается. Для первого теста выполняйте только GET и используйте отдельную учебную книгу.
3. Первый результат. Выполните GET https://graph.microsoft.com/v1.0/me/drive/items/{file-id}/workbook/worksheets/{sheet-id}/range(address='A1:C3') с Authorization: Bearer TOKEN. Замените оба ID своими. Получите values диапазона: заголовки и две учебные строки. Для одного чтения создавать сессию не обязательно.
4. Проверка. Сверьте все девять ячеек с Excel, типы чисел и отсутствие изменений в файле. Не передавайте токен модели. Если позже подключите запись, отдельно проверьте сохраняемую и несохраняемую сессии на копии; отсутствие сессии само по себе не защищает файл от сохранения изменений.
Доступ и оплата
- Модель оплаты: Не уточнено
- Работа в РФ: Нужно проверять
- VPN: Не известно
- Русский интерфейс: Не известно
- Русский язык: Не известно
Нужны поддерживаемое корпоративное хранилище, доступ к книге и разрешения метода. Личный OneDrive и локальные файлы не считаются подходящими источниками для этого workbook API. Лицензии и доступ из России здесь отдельно не подтверждены.
Когда не подходит
- Читать локальный файл прямо с компьютера через Graph
- Использовать старый .xls или личный OneDrive как поддерживаемый источник
- Запустить чтение диапазона через app-only авторизацию
Альтернативы
openpyxl читает и меняет локальные Excel-файлы кодом Python, но не пересчитывает формулы как Excel. Сам Excel удобнее для разовых ручных задач. Google Sheets API используется для таблиц Google и имеет другую модель прав.