Встроенная «таблица» Excel - это не то же самое, что форма таблицы PowerPoint.
Краткий ответ: API не поддерживает редактирование встроенного диапазона Excel в python-pptx
.
Существует пять типов фигур в PowerPoint: автофигура (обычный квадрат, круг и т. Д.), Соединитель (линии), изображение, групповая форма и графическая рамка.Графический фрейм - это «контейнер» для неформального типа PowerPoint, такого как диаграмма, таблица, smart-art и встроенный объект Office (в данном случае диапазон Excel).
Так что тот факт, чтотип фигуры, о котором сообщается, GraphicFrame
только сужает его, и в этом случае недостаточно, чтобы различать таблицу и встроенный диапазон Excel.
Свойство GraphicFrame.has_table
добросовестно выполняет свою работу в отчетностичто графический фрейм не содержит таблицы DrawingML, хотя вещь, которую она содержит , безусловно, имеет табличный вид.
Если вы хотите работать со встроенным диапазоном Excel, вы будете наВы можете манипулировать XML с GraphicFrame
вниз, используя lxml
вызовы.Я ожидаю, что в графическом фрейме XML содержится ссылка на встроенный файл Excel, который, возможно, можно открыть с помощью openpyxl
, чтобы внести в него изменения.Тем не менее, довольно сложная часть кода, в основном сложная из-за необходимости перепроектировать встроенную семантику XML объекта MS Office и перемещаться по структуре пакета для получения байтов встроенного «файла» Excel.
Код диаграммыв python-pptx
происходит что-то похожее, потому что в каждой диаграмме есть встроенный файл Excel в файле pptx
, который предоставляет данные диаграммы, так что это может быть источником вдохновения, если вы собираетесь принять вызов.