Foinse Oscailte Python API le haghaidh Google Sheets

Leabharlann Python a fhágann go bhfuil sé éasca Python a ghlaoch ó Excel agus vice versa.

Is API python foinse oscailte é Xlwings chun formáid comhaid Excel a ionramháil. Ag baint úsáide as an API is féidir leat Excel a uathoibriú ó python chun tuarascálacha a tháirgeadh, UDFanna (feidhmeanna sainithe ag an úsáideoir a scríobh), macraí a scríobh, agus Excel a rialú go cianda. Ina theannta sin, ceadaíonn an API struchtúir sonraí a ionramháil cosúil le cealla, liostaí, raonta, eagair NumPy, frámaí sonraí panda, agus sraith panda.

Éilíonn Xlwings suiteáil Microsoft Excel, mar sin oibríonn gach rud ar Windows agus macOS ach amháin go n-oibríonn na UDFanna ar Windows amháin.

Previous Next

Tús a chur le Xlwings

Ní mór duit Python 3.5 nó níos airde a bheith suiteáilte ar do chóras chun xlwings a rith go réidh. An bealach molta a shuiteáil trí PIP. Bain úsáid as an ordú seo a leanas le do thoil.

Suiteáil Xlwings trí Ordú PIP

pip install xlwings

Suiteáil Xlwings trí Conda

conda install xlwings

Idirghníomhú le Excel ó Python

Ceadaíonn Xlwings API Scarbhileoga Microsoft a ionramháil ag baint úsáide as Python. Trí úsáid a bhaint as an API is féidir leat nascadh le leabhar oibre atá ann cheana féin nó ceann nua a chruthú ag baint úsáide as modh xlwings.Book(). Is féidir leat luachanna a léamh / a scríobh chuig & ó raonta, raonta a leathnú, cineálacha sonraí a thiontú go héasca. Ina theannta sin, is féidir leat cairt Matplotlib & Plotly a chur leis mar phictiúir i do Leabhair Oibre Excel.

Faigh Toisí Raonta Excel go dinimiciúil trí 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

Glaoch ar Python ó Excel

Ligeann leabharlann scarbhileog Foinse Oscailte Xlwings d’fhorbróirí bogearraí cumarsáid a dhéanamh le Python trí Excel. Is féidir leat funcitons python a ghlaoch taobh istigh de do fheabhas trí chnaipe Rith de Xlwings Excel Add-In a úsáid nó trí úsáid a bhaint as an Funciton RunPython VBA. Is é an rud go maith faoi Excel Add-In a úsáid ná nach gá duit do leabhair oibre a bheith macrai-chumasaithe, agus is féidir leat é a shábháil mar xlsx.

Bain úsáid as Python Script chun cóid QR a chur isteach i 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)

Feidhmeanna Sainmhínithe Úsáideoir (UDFanna) in Excel ag baint úsáide as Python

Tugann leabharlann Xlwings an cumas d'fhorbróirí Funcitons Sainithe Úsáideora (UDFanna) a scríobh laistigh de bhformáid comhaid Microsoft Excel go clárach. Faoi láthair, níl UDFanna ar fáil ach ar fhuinneoga. Ceadaíonn an API úsáid a bhaint as funcitons simplí, líon na toisí eagair, foirmlí eagar dinimiciúil, foirmlí arrya le NumPy agus níos mó.

Conas Macraí a ghlaoch trí RunPython i 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
 Gaeilge