วิธีรวม Python เข้ากับ Excel ได้อย่างราบรื่นโดยใช้ PyXLL

วิธีรวม Python เข้ากับ Excel ได้อย่างราบรื่นโดยใช้ PyXLL
ผู้อ่านเช่นคุณช่วยสนับสนุน MUO เมื่อคุณทำการซื้อโดยใช้ลิงก์บนเว็บไซต์ของเรา เราอาจได้รับค่าคอมมิชชั่นจากพันธมิตร อ่านเพิ่มเติม.

PyXLL เป็นเครื่องมือที่เชื่อมช่องว่างระหว่าง Microsoft Excel และ Python ช่วยให้คุณรวมโค้ด Python และฟังก์ชันการทำงานเข้ากับสเปรดชีต Excel ได้อย่างราบรื่น ด้วย PyXLL ทำให้ Excel กลายเป็นแพลตฟอร์มสำหรับใช้ประโยชน์จากไลบรารีและความสามารถของ Python





PyXLL ทำหน้าที่เป็น Add-in ของ Excel คุณสามารถใช้มันเพื่อเขียนฟังก์ชัน Python และมาโครได้โดยตรงในสภาพแวดล้อม VBA ของ Excel จากนั้น PyXLL จะทำหน้าที่เป็นล่ามและเรียกใช้โค้ดภายในเซลล์ Excel ซึ่งเปิดโอกาสที่เป็นไปได้มากมาย บางส่วนได้แก่ การทำงานที่ซับซ้อนโดยอัตโนมัติ การวิเคราะห์ข้อมูลขั้นสูง และการแสดงภาพข้อมูล





ภาพรวมของ PyXLL

PyXLL ทำงานโดยการเรียกใช้ล่าม Python ภายในกระบวนการ Excel สิ่งนี้จะทำให้โค้ด Python ของคุณที่ทำงานใน PyXLL เข้าถึงข้อมูลและออบเจ็กต์ Excel ได้โดยตรง เครื่องมือนี้เขียนด้วยภาษา C++ และใช้เทคโนโลยีพื้นฐานเดียวกันกับ Excel ซึ่งหมายความว่าโค้ด Python ที่ทำงานบน PyXLL โดยทั่วไปจะเร็วกว่ามาก โค้ด Excel VBA .





การติดตั้งและตั้งค่า

หากต้องการติดตั้ง PyXLL ให้ไปที่ไฟล์ เว็บไซต์ PyXLL และดาวน์โหลดโปรแกรมเสริม ตรวจสอบให้แน่ใจว่าเวอร์ชัน Python และเวอร์ชัน Excel ที่คุณเลือกตรงกับเวอร์ชันที่ติดตั้งในระบบของคุณ PyXLL ใช้งานได้กับ Excel เวอร์ชัน Windows เท่านั้น

  หน้าดาวน์โหลด PyXLL

เมื่อการดาวน์โหลดเสร็จสิ้น ให้เปิดพร้อมท์คำสั่งแล้วรันคำสั่งนี้:



 pip install pyxll

คุณต้อง มีการติดตั้ง Pip ในระบบของคุณ เพื่อให้คำสั่งข้างต้นทำงาน จากนั้นใช้แพ็คเกจ PyXLL เพื่อติดตั้ง PyXLL Add-in:

 pyxll install 

โปรแกรมติดตั้งจะถามว่าคุณได้ดาวน์โหลด Add-in หรือไม่ ป้อนใช่แล้วระบุเส้นทางไปยังไฟล์ zip ที่มี Add-in จากนั้นทำตามคำแนะนำบนหน้าจอเพื่อทำการติดตั้งให้เสร็จสิ้น





เริ่มต้นใช้งาน PyXLL

เมื่อคุณติดตั้งปลั๊กอินแล้ว ให้เปิด Excel ก่อนที่จะเปิดตัว ข้อความแจ้งจะปรากฏขึ้นเพื่อขอให้คุณทำ เริ่มทดลองใช้ หรือ ซื้อเลย . เวอร์ชันทดลองใช้งานจะหมดอายุหลังจากผ่านไปสามสิบวัน จากนั้นคุณจะต้องซื้อใบอนุญาตเพื่อใช้ PyXLL ต่อไป

  พรอมต์เวอร์ชัน PyXLL

คลิกที่ เริ่มทดลองใช้ ปุ่ม. นี่จะเป็นการเปิด Excel พร้อมกับ Add-in ที่ติดตั้งไว้





บน แท็บตัวอย่าง PyXLL , คลิกที่ เกี่ยวกับ PyXLL ปุ่ม. ซึ่งจะแสดงเส้นทางที่คุณติดตั้ง Add-in พร้อมด้วยเส้นทางไปยังไฟล์การกำหนดค่าและบันทึก

  PyXLL เกี่ยวกับพรอมต์ใน Excel

เส้นทางที่มีไฟล์การกำหนดค่ามีความสำคัญเนื่องจากคุณจะต้องแก้ไขไฟล์นั้นในภายหลัง ดังนั้นโปรดจดบันทึกไว้ด้วย

แอพที่ใช้กับ apple pencil

การเปิดเผยฟังก์ชัน Python ไปยัง Excel

หากต้องการแสดงฟังก์ชัน Python ไปยัง Excel เป็นฟังก์ชันที่ผู้ใช้กำหนด (UDF) ให้ใช้ @xl_func มัณฑนากร มัณฑนากรนี้สั่งให้ PyXLL ลงทะเบียนฟังก์ชันกับ Excel ทำให้ผู้ใช้สามารถใช้งานได้

ตัวอย่างเช่น ในการเปิดเผย Python ฟีโบนัชชี() ฟังก์ชั่น Excel เป็น UDF คุณสามารถใช้ไฟล์ @xl_func ช่างตกแต่ง ดังนี้

 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)

บันทึกโค้ดนี้ด้วยนามสกุล .py และจดเส้นทางของโฟลเดอร์ที่คุณบันทึกไฟล์

วิธีเปิดใช้งานแฟลชบน mac

ตอนนี้ให้เปิดไฟล์การกำหนดค่า PyXLL ในโปรแกรมแก้ไขแล้วเลื่อนลงไปที่บรรทัดที่ขึ้นต้นด้วย 'pythonpath' โดยทั่วไปการตั้งค่านี้จะเป็นรายการโฟลเดอร์ที่ PyXLL จะค้นหาโมดูล Python เพิ่มเส้นทางไปยังโฟลเดอร์ที่มีซอร์สโค้ดของฟังก์ชัน Fibonacci

  รายการโฟลเดอร์ PyXLL pythonpath

จากนั้นเลื่อนลงไปที่ 'โมดูล' และเพิ่มโมดูลของคุณ เช่น หากคุณบันทึกไฟล์เป็น fibonacci.py , เพิ่มชื่อ 'ฟีโบนัชชี' ไปที่รายการ:

  รายการโมดูลไฟล์การกำหนดค่า PyXLL

นี่จะแสดงฟังก์ชันของโมดูลที่ใช้ @xl_func มัณฑนากรไปยัง Excel จากนั้นกลับไปที่ Excel และบน แท็บตัวอย่าง PyXLL , คลิกที่ โหลด PyXLL อีกครั้ง ปุ่มสำหรับการเปลี่ยนแปลงในไฟล์การกำหนดค่าที่จะซิงค์ จากนั้นคุณสามารถเรียก Python ได้ ฟีโบนัชชี ทำงานเหมือนกับที่คุณทำกับสูตร Excel อื่นๆ

  ฟังก์ชัน Python ใน Excel

คุณสามารถสร้างฟังก์ชันได้มากเท่าที่คุณต้องการและแสดงฟังก์ชันเหล่านั้นใน Excel ในลักษณะเดียวกัน

การส่งผ่านข้อมูลระหว่าง Excel และ Python

PyXLL รองรับการใช้ไลบรารี Python ภายนอก เช่น Pandas ช่วยให้คุณสามารถส่งข้อมูลจากไลบรารีเหล่านี้ไปยัง Python และในทางกลับกัน ตัวอย่างเช่นคุณสามารถ ใช้ Pandas เพื่อสร้าง dataframe แบบสุ่ม และส่งต่อไปยัง Excel ตรวจสอบให้แน่ใจว่าติดตั้ง Pandas ในระบบของคุณแล้วลองใช้โค้ดนี้:

 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)

คุณควรทำตามขั้นตอนเดียวกันเพื่อแสดงโมดูลนี้และฟังก์ชันของโมดูลนี้ใน Excel แล้วลองโทรไปที่. Random_dataframe ทำงานเหมือนกับที่คุณทำกับสูตร Excel อื่นๆ:

 =random_dataframe(10,5)

คุณสามารถเปลี่ยนจำนวนแถวและคอลัมน์ได้ตามที่คุณต้องการ

  Dataframe ใน Excel ที่สร้างโดย Pandas แม้ว่า PyXLL

คุณสามารถส่ง dataframes ที่กำหนดไว้ล่วงหน้าของคุณไปยัง Excel ได้ในลักษณะเดียวกัน ก็ยังสามารถทำได้ นำเข้าข้อมูล Excel ลงในสคริปต์ Python โดยใช้ Pandas .

ข้อจำกัดของ PyXLL

  • ความเข้ากันได้ของ Windows และ Excel: PyXLL ได้รับการออกแบบมาสำหรับ Windows เป็นหลักและทำงานร่วมกับ Microsoft Excel บน Windows อาจมีปัญหาด้านฟังก์ชันการทำงานหรือความเข้ากันได้ที่จำกัดบนแพลตฟอร์มที่ไม่ใช่ Windows เนื่องจากได้รับการปรับให้เหมาะกับสภาพแวดล้อม Windows
  • การปรับใช้: การปรับใช้สเปรดชีตที่ขับเคลื่อนด้วย PyXLL ให้กับผู้ใช้ปลายทางจำเป็นต้องติดตั้ง Python โดยมีการพึ่งพาน้อยที่สุดหรือรันไทม์ Python ที่มาพร้อมกับสเปรดชีต ซึ่งหมายความว่าผู้ใช้ที่ต้องการใช้สเปรดชีตที่ขับเคลื่อนด้วย PyXLL จำเป็นต้องติดตั้ง Python บนเครื่องของตน
  • เส้นโค้งการเรียนรู้: การใช้ PyXLL อย่างมีประสิทธิภาพต้องอาศัยความรู้เกี่ยวกับการเขียนโปรแกรม Python และความคุ้นเคยกับโมเดลวัตถุของ Excel ผู้ใช้ที่ไม่คุ้นเคยกับ Python หรือโมเดลออบเจ็กต์ของ Excel อาจต้องใช้เวลาในการเรียนรู้แนวคิดเหล่านี้ก่อนที่จะใช้ความสามารถของ PyXLL ได้อย่างเต็มที่
  • ค่าลิขสิทธิ์: PyXLL เป็นผลิตภัณฑ์เชิงพาณิชย์ และอาจมีค่าลิขสิทธิ์ที่เกี่ยวข้องกับการใช้งาน ทั้งนี้ขึ้นอยู่กับการใช้งานและข้อกำหนดของคุณ ค่าใช้จ่ายในการใช้งาน PyXLL ขึ้นอยู่กับปัจจัยต่างๆ เช่น จำนวนผู้ใช้ ขนาดการปรับใช้ และข้อตกลงสิทธิ์การใช้งาน

คุณยังคงควรใช้ฟังก์ชัน Excel หรือไม่?

ขึ้นอยู่กับสิ่งที่คุณต้องการทำให้สำเร็จ ควรใช้ฟังก์ชัน Excel แบบเนทีฟเสมอเมื่อมีให้ใช้งาน แต่สำหรับงานที่ซับซ้อนมากขึ้น ซึ่งฟังก์ชันในตัวของ Excel ไม่สามารถจัดการได้ PyXLL ถือเป็นโซลูชันที่ยอดเยี่ยม

ไลบรารี Pandas เป็นส่วนเสริมที่สมบูรณ์แบบสำหรับ PyXLL ด้วยความสามารถในการวิเคราะห์และการสนับสนุนที่แข็งแกร่งสำหรับการประมวลผลข้อมูล