В пользовательском интерфейсе Excel https://support.microsoft.com/en-us /office/insert-picture-in-cell-in-excel-e9317aee-4294-49a3-875c-9dd95845bab0 есть функция вставки изображения в ячейку.
Однако из API мне удалось только:
- добавить любое изображение (но не в ячейку)
- привязка к ячейке, но не внутри ячейки
- визуально точная настройка размера изображения/размера ячейки, чтобы затем наложить изображение на ячейку (но не на нее)
Я хочу написать в Excel кадр данных pandas следующей структуры:
Код: Выделить всё
key,value,image_path
foo,bar,my_image.png
bafoo,123,awesome.png
Это возможно из Пользовательский интерфейс — пока мне не удалось найти для этого API Python.
разъяснения
обычно что-то вроде:
Код: Выделить всё
import openpyxl
wb = openpyxl.Workbook()
ws = wb.worksheets[0]
#ws.merge_cells('A1:A3')
img = openpyxl.drawing.image.Image(FILENAME)
row_number = 1
col_idx = 1
cell = ws.cell(row=row_number, column=col_idx)
ws.add_image(img)
wb.save('output.xlsx')
Я также не хочу добавлять изображение URL-адрес — просто свяжите файл, как это можно сделать из пользовательского интерфейса.
редактируйте
Я бы не хотел разархивировать XML и вручную (или через Python ) в идеале отредактируйте XML.
edit2:
он должен работать с разархиватором XML и добавлением его в XML вручную. Я изучал некоторые инструменты искусственного интеллекта, фактически некоторые изображения теперь загружаются в ячейки, но Excel жалуется на нечитаемые данные. Однако при нажатии кнопки «игнорировать/удалить» изображение может быть загружено в ячейку. Теперь мне нужно придумать, как вручную написать правильный XML для XLSX.
Надеюсь, есть лучший способ через какой-нибудь API.
Подробнее здесь: https://stackoverflow.com/questions/792 ... -into-cell
Мобильная версия