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.

Previous Next

Початок роботи з 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
 Українська