1. 产品
  2.   电子表格
  3.   Python
  4.   Xlwings
 
  

用于 Google 表格的开源 Python API

Python 库,可以轻松地从 Excel 调用 Python,反之亦然。

Xlwings 是一个用于处理 Excel 文件格式的开源 python API。使用 API,您可以从 python 自动化 Excel 以生成报告、编写 UDF(用户定义的函数)、编写宏和远程控制 Excel。此外,该 API 允许操作单元格、列表、范围、NumPy 数组、熊猫数据框和熊猫系列等数据结构。

Xlwings 需要安装 Microsoft Excel,所以一切都可以在 Windows 和 macOS 上运行,除了 UDF 只能在 Windows 上运行。

Previous Next

Xlwings 入门

您需要在系统上安装 Python 3.5 或更高版本才能顺利运行 xlwings。推荐的通过 PIP 安装的方式。请使用以下命令。

通过 PIP 命令安装 Xlwings

pip install xlwings

通过 Conda 安装 Xlwings

conda install xlwings

通过 Python 与 Excel 交互

Xlwings API 允许使用 Python 操作 Microsoft 电子表格。使用 API,您可以连接到现有工作簿或使用 xlwings.Book() 方法创建新工作簿。您可以从范围读取/写入值、扩展范围、轻松转换数据类型。此外,您可以在 Excel 工作簿中添加 Matplotlib 和 Plotly 图表作为图片。

通过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

从 Excel 调用 Python

开源电子表格库 Xlwings 允许软件开发人员通过 Excel 与 Python 进行通信。您可以使用 Xlwings Excel 插件的运行按钮或使用 RunPython VBA 函数在 Excel 中调用 python 函数。使用 Excel 加载项的好处是您不需要启用宏的工作簿,您可以将其保存为 xlsx。

使用Python脚本在Microsoft Excel中插入R代码

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)

使用 Python 在 Excel 中的用户定义函数 (UDF)

Xlwings 库使开发人员能够以编程方式在 Microsoft Excel 文件格式中编写用户定义函数 (UDF)。目前,UDF 仅在 Windows 上可用。该 API 允许使用简单的函数、数组维数、动态数组公式、带有 NumPy 的 arrya 公式等。

如何在微软Excel通过RunPython通知马科斯

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
 中国人