Atvērtā pirmkoda Python API Google izklājlapām

Python bibliotēka, kas ļauj ērti izsaukt Python no Excel un otrādi.

Xlwings ir atvērtā koda python API, lai manipulētu ar Excel faila formātu. Izmantojot API, varat automatizēt programmu Excel no python, lai sagatavotu atskaites, rakstītu UDF (lietotāja definētas funkcijas), rakstītu makro un vadītu Excel attālināti. Turklāt API ļauj manipulēt ar datu struktūrām, piemēram, šūnām, sarakstiem, diapazoniem, NumPy masīviem, pandas datu rāmjiem un pandu sērijām.

Xlwings nepieciešama Microsoft Excel instalēšana, tāpēc viss darbojas operētājsistēmās Windows un macOS, izņemot to, ka UDF darbojas tikai operētājsistēmā Windows.

Previous Next

Darba sākšana ar Xlwings

Lai xlwings darbotos nevainojami, jūsu sistēmā ir jābūt instalētai Python 3.5 vai jaunākai versijai. Ieteicamais instalēšanas veids, izmantojot PIP. Lūdzu, izmantojiet šādu komandu.

Instalējiet Xlwings, izmantojot PIP komandu

pip install xlwings

Instalējiet Xlwings, izmantojot Conda

conda install xlwings

Mijiedarbojieties ar programmu Excel no Python

Xlwings API ļauj manipulēt ar Microsoft izklājlapām, izmantojot Python. Izmantojot API, varat izveidot savienojumu ar esošu darbgrāmatu vai izveidot jaunu, izmantojot metodi xlwings.Book(). Varat lasīt/rakstīt vērtības uz un no diapazoniem, paplašināt diapazonus, viegli konvertēt datu tipus. Turklāt jūs varat pievienot Matplotlib un Plotly diagrammu kā attēlus savās Excel darbgrāmatās.

Dinamiski iegūstiet Excel diapazonu izmērus, izmantojot 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

Izsauciet Python no Excel

Atvērtā pirmkoda izklājlapu bibliotēka Xlwings ļauj programmatūras izstrādātājiem sazināties ar Python, izmantojot programmu Excel. Varat izsaukt python funcitons savā Excel iekšienē, izmantojot Xlwings Excel pievienojumprogrammas pogu Palaist vai RunPython VBA funkciju. Excel pievienojumprogrammas izmantošanas priekšrocības ir tādas, ka darbgrāmatām nav jābūt iespējotām makro, un jūs varat to saglabāt kā xlsx.

Izmantojiet Python Script, lai ievietotu QR kodus programmā 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)

Lietotāja definētās funkcijas (UDF) programmā Excel, izmantojot Python

Xlwings bibliotēka sniedz izstrādātājiem iespēju programmatiski rakstīt lietotāja definētas funkcijas (UDF) Microsoft Excel faila formātā. Pašlaik UDF ir pieejami tikai operētājsistēmās Windows. API ļauj izmantot vienkāršus funcitonus, masīva izmēru skaitu, dinamiskas masīva formulas, arrya formulas ar NumPy un daudz ko citu.

Kā izsaukt makro, izmantojot RunPython programmā 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
 Latviski