Ketika tidak ada fungsi Excel untuk pekerjaan yang ada, pemrogram Python menggunakan PyXLL.
PyXLL adalah alat yang menjembatani kesenjangan antara Microsoft Excel dan Python. Ini memungkinkan Anda mengintegrasikan kode dan fungsionalitas Python dengan lancar ke dalam spreadsheet Excel. Dengan PyXLL, Excel menjadi platform untuk memanfaatkan perpustakaan dan kemampuan Python.
PyXLL berfungsi sebagai add-in Excel. Anda dapat menggunakannya untuk menulis fungsi dan makro Python langsung di lingkungan VBA Excel. PyXLL kemudian bertindak sebagai penerjemah dan menjalankan kode di dalam sel Excel, membuka banyak kemungkinan. Beberapa di antaranya termasuk mengotomatiskan tugas-tugas kompleks, analisis data tingkat lanjut, dan visualisasi data.
Ikhtisar PyXLL
PyXLL bekerja dengan menjalankan juru bahasa Python dalam proses Excel. Ini memberi kode Python Anda, yang berjalan di PyXLL, akses langsung ke data dan objek Excel. Alat ini ditulis dalam C++ dan menggunakan teknologi dasar yang sama seperti Excel. Ini berarti kode Python yang berjalan di PyXLL biasanya jauh lebih cepat daripada
Kode VBA Excel.Instalasi dan Pengaturan
Untuk menginstal PyXLL, buka situs web PyXLL dan unduh add-innya. Pastikan versi Python dan versi Excel yang Anda pilih cocok dengan yang diinstal di sistem Anda. PyXLL hanya tersedia untuk Excel versi Windows.
Ketika pengunduhan selesai, buka command prompt dan jalankan perintah ini:
pip install pyxll
Kamu butuh telah menginstal Pip di sistem Anda agar perintah di atas dapat dijalankan. Kemudian gunakan paket PyXLL untuk menginstal add-in PyXLL:
pyxll install
Pemasang akan menanyakan apakah Anda telah mengunduh add-in. Masukkan ya lalu berikan jalur ke file zip yang berisi add-in. Kemudian ikuti petunjuk di layar untuk menyelesaikan instalasi.
Memulai Dengan PyXLL
Setelah Anda menginstal plugin, luncurkan Excel. Sebelum diluncurkan, sebuah prompt akan muncul meminta Anda untuk melakukannya Mulai Uji Coba atau Beli sekarang. Versi uji coba akan kedaluwarsa setelah tiga puluh hari dan Anda harus membeli lisensi untuk terus menggunakan PyXLL.
Klik pada Mulai Uji Coba tombol. Ini akan meluncurkan Excel dengan add-in yang diinstal.
Di Tab Contoh PyXLL, klik pada Tentang PyXLL tombol. Ini akan menunjukkan jalur tempat Anda menginstal add-in, beserta jalur ke file konfigurasi dan log.
Jalur yang berisi file konfigurasi penting karena Anda perlu mengedit file itu nanti, jadi catatlah.
Mengekspos Fungsi Python ke Excel
Untuk mengekspos fungsi Python ke Excel sebagai fungsi yang ditentukan pengguna (UDF), gunakan @xl_func penghias. Dekorator ini menginstruksikan PyXLL untuk mendaftarkan fungsi tersebut ke Excel, sehingga tersedia bagi pengguna.
Misalnya saja untuk mengekspos Python fibonacci() berfungsi ke Excel sebagai UDF, Anda dapat menggunakan @xl_func dekorator sebagai berikut:
from pyxll import xl_func
@xl_func
deffibonacci(n):
This is a Python function that calculates the Fibonacci sequence.
if n < 0:
raise ValueError("n must be non-negative")
elif n == 0or n == 1:
return n
else:
return fibonacci(n - 1) + fibonacci(n - 2)
Simpan kode ini dengan ekstensi .py dan catat jalur folder tempat Anda menyimpan file.
Sekarang, buka file konfigurasi PyXLL di editor dan gulir ke bawah ke baris yang dimulai dengan "pythonpath". Pengaturan ini biasanya berupa daftar folder tempat PyXLL akan mencari modul Python. Tambahkan jalur ke folder yang berisi kode sumber fungsi Fibonacci.
Kemudian gulir ke bawah ke "modul" dan tambahkan modul Anda. Misalnya, jika Anda menyimpan file sebagai fibonacci.py, tambahkan nama"fibonacci"ke daftar:
Ini akan mengekspos fungsi modul yang menggunakan @xl_func dekorator ke Excel. Kemudian kembali ke Excel dan, di Tab Contoh PyXLL, klik pada Muat ulang PyXLL tombol untuk menyinkronkan perubahan pada file konfigurasi. Anda kemudian dapat memanggil Python fibonacci berfungsi seperti yang Anda lakukan pada rumus Excel lainnya.
Anda bisa membuat fungsi sebanyak yang Anda perlukan dan memaparkannya ke Excel dengan cara yang sama.
Melewati Data Antara Excel dan Python
PyXLL mendukung penggunaan perpustakaan Python eksternal, seperti Pandas. Ini memungkinkan Anda meneruskan data dari perpustakaan ini ke Python dan sebaliknya. Misalnya, Anda bisa gunakan Pandas untuk membuat kerangka data acak dan menyebarkannya ke Excel. Pastikan Pandas terinstal di sistem Anda, lalu coba kode ini:
from pyxll import xl_func
import pandas as pd
import numpy as np
@xl_func("int rows, int columns: dataframe
", auto_resize=True)
defrandom_dataframe(rows, columns):
data = np.random.rand(rows, columns)
column_names = [chr(ord('A') + x) for x in range(columns)]
return pd.DataFrame(data, columns=column_names)
Anda harus mengikuti proses yang sama untuk mengekspos modul ini dan fungsinya ke Excel. Kemudian coba telepon kerangka data_acak berfungsi seperti yang Anda lakukan pada rumus Excel lainnya:
=random_dataframe(10,5)
Anda dapat mengubah jumlah baris dan kolom sesuka Anda.
Anda dapat meneruskan kerangka data yang telah ditentukan sebelumnya ke Excel dengan cara yang sama. Hal ini juga mungkin untuk dilakukan impor data Excel ke dalam skrip Python menggunakan Pandas.
Keterbatasan PyXLL
- Kompatibilitas Windows dan Excel: PyXLL terutama dirancang untuk Windows dan bekerja dengan Microsoft Excel di Windows. Ini mungkin memiliki masalah fungsionalitas atau kompatibilitas terbatas pada platform non-Windows karena dioptimalkan untuk lingkungan Windows.
- Penerapan: Menyebarkan spreadsheet yang didukung PyXLL ke pengguna akhir mengharuskan mereka menginstal Python dengan dependensi minimal atau runtime Python yang dibundel dengan spreadsheet. Ini berarti bahwa pengguna yang ingin menggunakan spreadsheet yang didukung PyXLL harus menginstal Python di mesin mereka.
- Kurva Pembelajaran: Menggunakan PyXLL secara efektif memerlukan pengetahuan tentang pemrograman Python dan keakraban dengan model objek Excel. Pengguna yang tidak terbiasa dengan model objek Python atau Excel mungkin perlu menginvestasikan waktu untuk mempelajari konsep-konsep ini sebelum memanfaatkan sepenuhnya kemampuan PyXLL.
- Biaya Lisensi: PyXLL adalah produk komersial, dan bergantung pada penggunaan dan persyaratan Anda, mungkin ada biaya lisensi yang terkait dengan penggunaannya. Biaya penggunaan PyXLL bergantung pada faktor-faktor seperti jumlah pengguna, skala penerapan, dan perjanjian lisensi.
Haruskah Anda Tetap Menggunakan Fungsi Excel?
Itu tergantung pada apa yang ingin Anda capai. Selalu masuk akal untuk menggunakan fungsi asli Excel jika tersedia. Namun, untuk tugas yang lebih kompleks, yang tidak dapat ditangani oleh fungsi bawaan Excel, PyXLL adalah solusi terbaik.
Pustaka Pandas adalah pelengkap sempurna untuk PyXLL dengan kemampuan analitiknya dan dukungan kuat untuk pemrosesan data.