Contents

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

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 là một công cụ mạnh mẽ hoạt động như một phần bổ trợ Excel, cho phép người dùng tạo các hàm và macro Python trực tiếp trong môi trường VBA của Excel. Bằng cách đóng vai trò là trình thông dịch cho mã này, PyXLL cho phép người dùng thực hiện các thao tác phức tạp như tự động hóa, phân tích dữ liệu nâng cao và trực quan hóa dữ liệu, tất cả đều từ trong giới hạn quen thuộc của Microsoft Excel.

Tổng quan về PyXLL

PyXLL hoạt động bằng cách lưu trữ trình thông dịch Python trong chính ứng dụng Excel. Điều này cấp cho mã Python của PyXLL quyền truy cập trực tiếp vào dữ liệu và đối tượng Excel, cung cấp giải pháp hiệu quả so với mã VBA Excel truyền thống. Được viết bằng C++ và tận dụng công nghệ cốt lõi giống như Excel, PyXLL mang lại lợi thế về hiệu suất để thực thi các tập lệnh Python trong môi trường Microsoft Office.

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

Để cài đặt PyXLL, hãy truy cập 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.

/vi/images/how-to-seamlessly-integrate-python-into-excel-using-pyxll-download.jpg

Sau khi hoàn tất quá trình tải xuống, hãy khởi chạy giao diện nhắc lệnh và thực hiện hướng dẫn sau trong đó:

 pip install pyxll 

Để thực hiện lệnh nói trên, bạn bắt buộc phải cài đặt sẵn Pip trên hệ điều hành máy tính của mình. Sau đó, hãy sử dụng gói PyXLL để triển khai phần bổ trợ PyXLL.

 pyxll install

Vui lòng xác nhận xem bạn đã tải xuống phần bổ trợ được yêu cầu chưa và chỉ định vị trí của nó bằng cách cung cấp đường dẫn đến tệp zip, sau đó chúng tôi có thể tiến hành quá trình cài đặt theo hướng dẫn trên màn hình.

Bắt đầu với PyXLL

Sau khi cài đặt plugin, hãy khởi chạy Microsoft Excel. Một thông báo sơ bộ sẽ xuất hiện yêu cầu bạn lựa chọn giữa việc bắt đầu dùng thử hoặc mua giấy phép trước khi sử dụng PyXLL. Điều quan trọng cần lưu ý là phiên bản dùng thử sẽ ngừng hoạt động sau khoảng thời gian ba mươi ngày, đòi hỏi phải có giấy phép hợp lệ để tiếp tục hoạt động.

/vi/images/how-to-seamlessly-integrate-python-into-excel-using-pyxll-prompt.jpg

Vui lòng nhấp vào nút “Bắt đầu dùng thử” để bắt đầu cài đặt bổ trợ trong Microsoft Excel. Sau khi cài đặt thành công, bạn sẽ có thể truy cập và sử dụng các tính năng của nó trong ứng dụng.

Vui lòng nhấp vào nút “Giới thiệu về PyXLL” nằm trên Tab Ví dụ về PyXLL. Hành động này sẽ hiển thị thông tin liên quan đến đường dẫn cài đặt của phần bổ trợ cũng như đường dẫn đến tệp nhật ký và cấu hình liên quan.

/vi/images/how-to-seamlessly-integrate-python-into-excel-using-pyxll-about.jpg

Vị trí của tệp cấu hình có ý nghĩa quan trọng vì sau này bạn sẽ cần quyền truy cập vào tệp đó để điều chỉnh, do đó, bạn nên lưu giữ đường dẫn của tệp đó trong bộ nhớ của mình.

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

Để tích hợp hàm Python để sử dụng trong Microsoft Excel bằng cách sử dụng trình trang trí xl\_func, công cụ này dùng để thông báo cho PyXLL về mục đích đăng ký và tính sẵn có của hàm cho người dùng sử dụng.

Để tích hợp hàm Python fibonacci() với Microsoft Excel dưới dạng Hàm do người dùng xác định (UDF), người ta có thể sử dụng trình trang trí @xl\_func theo cách 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)

Vui lòng lưu trữ tập lệnh được cung cấp bằng tên tệp “.py” và đảm bảo duy trì bản ghi thư mục nơi nó được lưu, chú ý ghi lại vị trí của nó để tham khảo trong tương lai.

Vui lòng điều hướng đến tệp cấu hình PyXLL bằng trình soạn thảo văn bản thích hợp và tiếp tục đến phần được chỉ định là “pythonpath”. Thông thường, vị trí này bao gồm một loạt các thư mục đóng vai trò là nền tảng cho việc điều tra các thư viện Python của PyXLL. Sẽ là khôn ngoan nếu đưa đường dẫn thư mục bao gồm mã nguồn của hàm Fibonacci vào danh sách này.

/vi/images/how-to-seamlessly-integrate-python-into-excel-using-pyxll-modules-folder-path.jpg

Thêm mô-đun của bạn bằng cách điều hướng đến phần “mô-đun” và nhập tiêu đề của nó vào danh sách. Trong trường hợp này, vì chúng tôi đã lưu tệp của mình dưới dạng fibonacci.py , nên chúng tôi sẽ thêm tên “fibonacci” vào danh sách.

/vi/images/how-to-seamlessly-integrate-python-into-excel-using-pyxll-modules.jpg

Để sử dụng các chức năng được trang trí bằng trình trang trí “@xl\_func” trong môi trường lập trình của Microsoft Excel, trước tiên người ta phải đảm bảo rằng các chức năng đó được hiển thị. Để đạt được điều này, hãy điều hướng đến “Tab ví dụ PyXLL” trong Excel và sau đó nhấn nút “Tải lại PyXLL”. Thông qua hành động này, mọi sửa đổi được thực hiện đối với tệp cấu hình sẽ được đồng bộ hóa. Do đó, người dùng có thể sử dụng hàm “fibonacci” dựa trên Python giống như cách họ sử dụng công thức Excel thông thường.

/vi/images/how-to-seamlessly-integrate-python-into-excel-using-pyxll-excel-calling.jpg

Bạn có thể linh hoạt tạo ra số lượng hàm không giới hạn, có thể được tích hợp liền mạch với Microsoft Excel bằng cách tuân thủ một phương pháp nhất quán.

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

PyXLL cho phép tích hợp các thư viện Python bên ngoài như Pandas, cho phép giao tiếp liền mạch giữa Python và Excel. Một ví dụ về điều này là sử dụng Pandas để tạo DataFrame được tạo ngẫu nhiên, sau đó có thể được chuyển vào Excel thông qua các khả năng của PyXLL. Để đảm bảo rằng Pandas được cài đặt đúng cách trên hệ thống của bạn, bạn có thể tham khảo hướng dẫn cài đặt do các nhà phát triển của nó cung cấp. Sau khi Pandas được cài đặt thành công, bạn có thể thử nghiệm đoạn mã nói trên để quan sát việc trao đổi thông tin giữa Python và Excel do PyXLL hỗ trợ.

 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) 

Để có thể truy cập vào mô-đun này và các chức năng của nó trong Microsoft Excel, cần phải tuân thủ một quy trình cụ thể. Khi điều này đã được thực hiện, người ta có thể thử gọi hàm random\_dataframe theo cách tương tự như bất kỳ công thức Excel nào khác.

 =random_dataframe(10,5) 

Bạn có thể linh hoạt sửa đổi số lượng hàng và cột theo sở thích của mình.

/vi/images/how-to-seamlessly-integrate-python-into-excel-using-pyxll-pandas.jpg

Bạn cũng có thể chọn kết hợp các khung dữ liệu được thiết lập sẵn trong tập lệnh Python bằng cách sử dụng các khả năng của Pandas, cho phép nhập và tích hợp dữ liệu từ Microsoft Excel một cách liền mạch.

Hạn chế của PyXLL

PyXLL, một thư viện Python chuyên xử lý XLL (Phần bổ trợ Excel), đã được điều chỉnh để hoạt động tối ưu trong hệ điều hành Windows. Hiệu quả của nó có thể bị hạn chế khi sử dụng trên các nền tảng không phải Windows do các thông số thiết kế cụ thể của nó nhằm đáp ứng các sắc thái của môi trường Windows.

Để người dùng cuối sử dụng bảng tính tận dụng các khả năng của PyXLL, họ cần phải có bản cài đặt Python hoạt động trên thiết bị của mình, chỉ với các phụ thuộc thiết yếu hoặc bằng cách đưa thời gian chạy Python vào gói đi kèm với bảng tính. Do đó, những người muốn sử dụng chức năng như vậy phải đảm bảo rằng họ đã cài đặt sẵn Python trên hệ thống của mình.

Việc điều hướng sự phức tạp của PyXLL đòi hỏi phải thành thạo lập trình Python cũng như hiểu biết về mô hình đối tượng của Excel, điều này có thể đặt ra thách thức đối với những người dùng không quen với một trong hai khái niệm. Do đó, những người muốn khai thác toàn bộ tiềm năng của thư viện này có thể phải nỗ lực đáng kể để có được kiến ​​thức chuyên môn nền tảng trong cả hai lĩnh vực.

Chi phí cho việc sử dụng PyXLL có thể thay đổi dựa trên một số thông số như mức độ cơ sở người dùng, mức độ triển khai và các điều khoản cụ thể điều chỉnh việc cấp phép. Là một hạng mục thuộc danh mục hàng hóa phải thanh toán, cần phải tính đến các yếu tố này khi xác định nghĩa vụ tài chính liên quan đến việc sử dụng giải pháp phần mềm này.

Bạn Vẫn Nên Sử Dụng Các Hàm Excel?

Lựa chọn giữa việc sử dụng các hàm Excel gốc và kết hợp các thư viện bên ngoài như PyXLL cuối cùng đều phụ thuộc vào các mục tiêu cụ thể mà người ta mong muốn đạt được. Mặc dù thông thường nên sử dụng các hàm gốc bất cứ khi nào khả thi, nhưng có một số tác vụ phức tạp nhất định vượt quá khả năng của các chức năng sẵn có của Excel. Trong những trường hợp như vậy, việc tận dụng các công cụ chuyên dụng như PyXLL có thể là một giải pháp thay thế hiệu quả cao.

Việc tích hợp thư viện Pandas với PyXLL mang đến sự kết hợp đặc biệt, cung cấp chức năng phân tích mạnh mẽ và khả năng xử lý dữ liệu ấn tượng để nâng cao trải nghiệm người dùng.