Cách tích hợp liền mạch Python vào Excel bằng PyXLL

Cách tích hợp liền mạch Python vào Excel bằng PyXLL
Những độc giả như bạn giúp ủng hộ MUO. Khi bạn mua hàng bằng các liên kết trên trang web của chúng tôi, chúng tôi có thể kiếm được hoa hồng liên kết. Đọc thêm.

PyXLL là một công cụ thu hẹp khoảng cách giữa Microsoft Excel và Python. Nó cho phép bạn tích hợp liền mạch mã và chức năng Python vào bảng tính Excel. Với PyXLL, Excel trở thành nền tảng để tận dụng các thư viện và khả năng của Python.





PyXLL hoạt động như một phần bổ trợ Excel. Bạn có thể sử dụng nó để viết các hàm và macro Python trực tiếp trong môi trường VBA của Excel. PyXLL sau đó đóng vai trò là trình thông dịch và chạy mã trong các ô Excel, mở ra nhiều khả năng. Một số trong số này bao gồm tự động hóa các tác vụ phức tạp, phân tích dữ liệu nâng cao và trực quan hóa dữ liệu.





Tổng quan về PyXLL

PyXLL hoạt động bằng cách chạy trình thông dịch Python trong quy trình Excel. Điều này mang lại cho mã Python của bạn, chạy trong PyXLL, quyền truy cập trực tiếp vào dữ liệu và đối tượng Excel. Công cụ này được viết bằng C++ và sử dụng công nghệ cơ bản tương tự như Excel. Điều này có nghĩa là mã Python chạy trong PyXLL thường nhanh hơn nhiều so với Mã VBA Excel .





Cài đặt và thiết lập

Để cài đặt PyXLL, hãy đi tới Trang web PyXLL và tải xuống phần bổ trợ. Đảm bảo phiên bản Python và phiên bản Excel bạn chọn khớp với phiên bản được cài đặt trong hệ thống của bạn. PyXLL chỉ khả dụng cho phiên bản Windows của Excel.

  Trang tải xuống PyXLL

Khi quá trình tải xuống hoàn tất, hãy mở dấu nhắc lệnh và chạy lệnh này:



 pip install pyxll

Bạn cần phải đã cài đặt Pip trong hệ thống của bạn để lệnh trên chạy. Sau đó sử dụng gói PyXLL để cài đặt bổ trợ PyXLL:

 pyxll install 

Trình cài đặt sẽ hỏi bạn đã tải xuống phần bổ trợ chưa. Nhập có và sau đó cung cấp đường dẫn đến tệp zip chứa bổ trợ. Sau đó làm theo hướng dẫn trên màn hình để hoàn tất cài đặt.





Bắt đầu với PyXLL

Sau khi bạn đã cài đặt plugin, hãy khởi chạy Excel. Trước khi nó khởi chạy, một lời nhắc sẽ bật lên yêu cầu bạn Bắt đầu thử nghiệm hoặc Mua ngay . Phiên bản dùng thử sẽ hết hạn sau ba mươi ngày và sau đó bạn sẽ cần mua giấy phép để tiếp tục sử dụng PyXLL.

  Lời nhắc phiên bản PyXLL

Bấm vào Bắt đầu thử nghiệm cái nút. Thao tác này sẽ khởi chạy Excel với phần bổ trợ đã cài đặt.





trên Tab ví dụ PyXLL , bấm vào Giới thiệu về PyXLL cái nút. Thao tác này sẽ hiển thị cho bạn đường dẫn mà bạn đã cài đặt phần bổ trợ, cùng với đường dẫn đến tệp nhật ký và cấu hình.

  PyXLL về lời nhắc trong Excel

Đường dẫn chứa file cấu hình rất quan trọng vì sau này bạn sẽ cần chỉnh sửa file đó nên hãy ghi lại.

Hiển thị các hàm Python cho Excel

Để hiển thị hàm Python sang Excel dưới dạng hàm do người dùng xác định (UDF), hãy sử dụng hàm @xl_func người trang trí. Trình trang trí này hướng dẫn PyXLL đăng ký hàm với Excel, cung cấp hàm này cho người dùng.

Ví dụ: để hiển thị một Python fibonacci() sang Excel dưới dạng UDF, bạn có thể sử dụng @xl_func trang trí như sau:

 from pyxll import xl_func 

@xl_func
def fibonacci(n):
  """
  This is a Python function that calculates the Fibonacci sequence.
  """
  if n < 0:
    raise ValueError("n must be non-negative")
  elif n == 0 or n == 1:
    return n
  else:
    return fibonacci(n - 1) + fibonacci(n - 2)

Lưu mã này với phần mở rộng .py và ghi lại đường dẫn của thư mục mà bạn lưu tệp.

Bây giờ, hãy mở tệp cấu hình PyXLL trong trình chỉnh sửa và cuộn xuống dòng bắt đầu bằng 'pythonpath'. Cài đặt này thường là danh sách các thư mục mà PyXLL sẽ tìm kiếm các mô-đun Python. Thêm đường dẫn vào thư mục chứa mã nguồn hàm Fibonacci.

  Danh sách thư mục pythonpath PyXLL

Sau đó cuộn xuống 'mô-đun' và thêm mô-đun của bạn. Ví dụ: nếu bạn đã lưu tệp của mình dưới dạng fibonacci.py , thêm tên 'fibonacci' vào danh sách:

  Danh sách mô-đun tệp cấu hình PyXLL

Điều này sẽ hiển thị các chức năng mô-đun sử dụng @xl_func trang trí cho Excel. Sau đó quay trở lại Excel và trên Tab ví dụ PyXLL , bấm vào Tải lại PyXLL để đồng bộ hóa những thay đổi trong tệp cấu hình. Sau đó bạn có thể gọi Python fibonacci hoạt động giống như bất kỳ công thức Excel nào khác.

  Hàm Python trong Excel

Bạn có thể tạo bao nhiêu hàm tùy thích và hiển thị chúng trong Excel theo cách tương tự.

Truyền dữ liệu giữa Excel và Python

PyXLL hỗ trợ sử dụng các thư viện Python bên ngoài, như Pandas. Nó cho phép bạn truyền dữ liệu từ các thư viện này sang Python và ngược lại. Ví dụ, bạn có thể sử dụng Pandas để tạo khung dữ liệu ngẫu nhiên và chuyển nó sang Excel. Hãy đảm bảo rằng Pandas đã được cài đặt trong hệ thống của bạn, sau đó thử mã này:

sử dụng bộ điều khiển wii u pro trên PC
 from pyxll import xl_func 
import pandas as pd
import numpy as np

@xl_func("int rows, int columns: dataframe<index=True>", auto_resize=True)
def random_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)

Bạn nên làm theo quy trình tương tự để hiển thị mô-đun này và các chức năng của nó trong Excel. Sau đó thử gọi khung dữ liệu ngẫu nhiên hoạt động giống như công thức Excel khác:

 =random_dataframe(10,5)

Bạn có thể thay đổi số hàng và cột tùy thích.

  Khung dữ liệu trong Excel được tạo bởi Pandas mặc dù PyXLL

Bạn có thể chuyển các khung dữ liệu được xác định trước của mình sang Excel theo cách tương tự. Cũng có thể nhập dữ liệu Excel vào tập lệnh Python bằng Pandas .

Hạn chế của PyXLL

  • Khả năng tương thích với Windows và Excel: PyXLL được thiết kế chủ yếu cho Windows và hoạt động với Microsoft Excel trên Windows. Nó có thể có chức năng hạn chế hoặc các vấn đề tương thích trên nền tảng không phải Windows vì nó được tối ưu hóa cho môi trường Windows.
  • Triển khai: Việc triển khai bảng tính hỗ trợ PyXLL cho người dùng cuối yêu cầu họ phải cài đặt Python với mức độ phụ thuộc tối thiểu hoặc thời gian chạy Python đi kèm với bảng tính. Điều này có nghĩa là người dùng muốn sử dụng bảng tính hỗ trợ PyXLL cần phải cài đặt Python trên máy của họ.
  • Đường cong học tập: Sử dụng PyXLL một cách hiệu quả đòi hỏi một số kiến ​​thức về lập trình Python và làm quen với mô hình đối tượng của Excel. Người dùng không quen thuộc với mô hình đối tượng của Python hoặc Excel có thể cần đầu tư thời gian tìm hiểu các khái niệm này trước khi sử dụng đầy đủ các khả năng của PyXLL.
  • Chi phí giấy phép: PyXLL là một sản phẩm thương mại và tùy thuộc vào cách sử dụng cũng như yêu cầu của bạn, có thể có chi phí cấp phép liên quan đến việc sử dụng nó. Chi phí sử dụng PyXLL phụ thuộc vào các yếu tố như số lượng người dùng, quy mô triển khai và thỏa thuận cấp phép.

Bạn vẫn nên sử dụng các hàm Excel?

Nó phụ thuộc vào những gì bạn muốn thực hiện. Việc sử dụng các hàm Excel gốc khi chúng có sẵn luôn là điều hợp lý. Tuy nhiên, đối với những tác vụ phức tạp hơn mà các hàm tích hợp sẵn của Excel không thể xử lý được, PyXLL là một giải pháp tuyệt vời.

Thư viện Pandas là sự bổ sung hoàn hảo cho PyXLL với khả năng phân tích và hỗ trợ mạnh mẽ cho việc xử lý dữ liệu.