API Python з відкритим кодом для Google Таблиць
Бібліотека Python, яка дозволяє легко викликати Python з Excel і навпаки.
Xlwings — це API Python з відкритим кодом для керування форматом файлу Excel. Використовуючи API, ви можете автоматизувати Excel із Python для створення звітів, написання UDF (визначених користувачем функцій), написання макросів і віддаленого керування Excel. Крім того, API дозволяє маніпулювати структурами даних, такими як комірки, списки, діапазони, масиви NumPy, кадри даних panda та серії panda.
Xlwings вимагає інсталяції Microsoft Excel, тому все працює в Windows і macOS, за винятком того, що UDF працює лише в Windows.
Початок роботи з Xlwings
Для безперебійної роботи xlwings у вашій системі має бути встановлено Python 3.5 або новішої версії. Рекомендований спосіб встановлення через PIP. Будь ласка, використовуйте наступну команду.
Встановіть Xlwings за допомогою команди PIP
pip install xlwings
Встановіть Xlwings через Conda
conda install xlwings
Взаємодія з Excel з Python
API Xlwings дозволяє маніпулювати електронними таблицями Microsoft за допомогою Python. Використовуючи API, ви можете підключитися до існуючої книги або створити нову за допомогою методу xlwings.Book(). Ви можете читати/записувати значення в і з діапазонів, розширювати діапазони, легко перетворювати типи даних. Крім того, ви можете додавати діаграми Matplotlib і Plotly як зображення у свої книги Excel.
Отримайте розміри діапазонів Excel, динамічно через Python
sheet = xw.Book().sheets[0]
sheet['A1'].value = [[1,2], [3,4]]
range1 = sheet['A1'].expand('table') # or just .expand()
range2 = sheet['A1'].options(expand='table')
range1.value
[[1.0, 2.0], [3.0, 4.0]]
range2.value
[[1.0, 2.0], [3.0, 4.0]]
sheet['A3'].value = [5, 6]
range1.value
[[1.0, 2.0], [3.0, 4.0]]
range2.value
Виклик Python з Excel
Бібліотека електронних таблиць із відкритим кодом Xlwings дозволяє розробникам програмного забезпечення спілкуватися з Python через Excel. Ви можете викликати функції python у своєму Excel за допомогою кнопки «Виконати» надбудови Xlwings Excel або за допомогою функції RunPython VBA. Хороша сторона використання Excel Add-In полягає в тому, що вам не потрібно, щоб ваші робочі книги мали макроси, і ви можете зберегти їх як xlsx.
Використовуйте скрипт Python, щоб вставляти коди R в Microsoft Excel
import tempfile
import segno
import xlwings as xw
# Update this with the name of your workbook
book = xw.Book('qr.xlsx')
sheet = xw.sheets[0]
# Update this with the starting cell of your URLs
start_cell = sheet['A1']
urls = start_cell.options(expand='down', ndim=1).value
# Loop through each URL and generate the QR code
for ix, url in enumerate(urls):
# Generate the QR code
qr = segno.make(url)
with tempfile.TemporaryDirectory() as td:
# Save the QR code as a temporary svg file. If you are on macOS, use pdf
# instead and if you don't have Microsoft 365, you may have to use png
filepath = f'{td}/qr.svg'
qr.save(filepath, scale=5, border=0, finder_dark='#15a43a')
# Insert the QR code to the right of the URL
destination_cell = start_cell.offset(row_offset=ix, column_offset=1)
sheet.pictures.add(filepath,
left=destination_cell.left,
top=destination_cell.top)
Визначені користувачем функції (UDF) в Excel за допомогою Python
Бібліотека Xlwings дає розробникам можливість програмно писати визначені користувачем функції (UDF) у формат файлу Microsoft Excel. Наразі UDF доступні лише у Windows. API дозволяє використовувати прості функції, кількість вимірів масиву, динамічні формули масиву, формули arrya з NumPy тощо.
Як зателефонувати Маркос через RunPython в Microsoft Excel
import xlwings as xw
@xw.sub
def my_macro():
"""Writes the name of the Workbook into Range("A1") of Sheet 1"""
wb = xw.Book.caller()
wb.sheets[0].range('A1').value = wb.name