การ Mail Merge โดยใช้ Excel ใน Python

Mail merge คือเทคนิคที่ชาญฉลาดในการสร้างเอกสารที่ปรับแต่งได้ในปริมาณมาก ไม่ว่าจะเป็นใบแจ้งหนี้ รายงาน หรือประกาศนียบัตร คุณสามารถใช้เทมเพลตเดียวและกรอกข้อมูลจากสเปรดชีต ในแต่ละแถวในไฟล์ Excel ของคุณจะกลายเป็นเอกสารที่ปรับแต่งได้ ในโพสต์นี้ เราจะแสดงให้คุณเห็นว่าคุณจะทำการ mail merge จาก Excel โดยใช้ Python กับไลบรารี Aspose.Cells ได้อย่างไร

บทความนี้ครอบคลุมหัวข้อต่อไปนี้:

Python Excel Mail Merge Library

เราจะใช้ Aspose.Cells for Python via .NET เพื่อดำเนินการรวมจดหมาย มันช่วยให้คุณสร้าง อ่าน และจัดการสเปรดชีต Excel โดยตรงจากโค้ด Python ด้วยการสนับสนุน Smart Markers ไลบรารีนี้ช่วยให้การผูกข้อมูลและการทำงานอัตโนมัติของ Excel เป็นไปอย่างราบรื่น

เพื่อติดตั้ง Aspose.Cells for Python ผ่าน .NET:

pip install aspose-cells

การรวมเมลโดยใช้ Aspose.Cells for Python

แตกต่างจาก Word, Aspose.Cells ใช้ Smart Markers เพื่อทำการผสานจดหมาย Smart Markers คือแท็กพิเศษในเทมเพลต Excel ที่ระบบจะแทนที่ด้วยข้อมูลจริงในระหว่างการทำงาน คุณกำหนดมาร์กเกอร์ได้ดังนี้:

&=DataSource.ColumnName

Aspose.Cells ประมวลผลเครื่องหมายเหล่านี้ทีละแถว โดยแทนที่ด้วยค่าจริงจากแหล่งข้อมูลของคุณ เช่น รายการของพจนานุกรมหรือวัตถุที่คล้ายกับ DataTable

เตรียมแม่แบบ Excel

สร้างไฟล์ (เช่น Template.xlsx) ที่มี Smart Markers:

ชื่ออีเมลจำนวน
&=Data.Name&=Data.Email&=Data.Amount

คู่มือทีละขั้นตอนในการทำ Mail Merge โดยใช้ Python

ส่วนนี้สรุปขั้นตอนในการดำเนินการจดหมายผสานโดยใช้แม่แบบ Excel และ Aspose.Cells for Python ผ่าน API .NET ขั้นตอนรวมถึงการโหลดสมุดงานแม่แบบ การผูกเข้ากับแหล่งข้อมูล การประมวลผล Smart Marker และการบันทึกผลลัพธ์

ขั้นตอนที่ 1: โหลดเวิร์กบุ๊คแม่แบบ

เริ่มต้น ให้สร้างออบเจ็กต์ Workbook โดยการโหลดไฟล์ Excel ที่มี Smart Markers ที่กำหนดไว้ล่วงหน้า

import aspose.cells as ac

workbook = ac.Workbook("Template.xlsx")

หมายเหตุ: เทมเพลตต้องประกอบด้วย Smart Markers ที่จัดรูปแบบเป็น &=Data.FieldName.

ขั้นตอนที่ 2: สร้างและกรอกข้อมูลในแหล่งข้อมูล

สร้าง DataTable เพื่อใช้เป็นแหล่งข้อมูล กำหนดคอลัมน์ที่จำเป็นและเพิ่มแถวข้อมูลที่ตรงกับ Smart Markers ในแม่แบบ

table = ac.DataTable("Data")
table.columns.add("Name")
table.columns.add("Email")
table.columns.add("Amount")

table.rows.add(["Alice", "alice@example.com", 1000])
table.rows.add(["Bob", "bob@example.com", 1500])

ชื่อแต่ละคอลัมน์ใน DataTable ควรตรงกับตัวระบุเครื่องหมายที่ใช้ในเทมเพลต Excel.

ขั้นตอนที่ 3: ผูกข้อมูลกับสมุดงาน

ใช้คลาส WorkbookDesigner เพื่อเชื่อมต่อสมุดงานกับแหล่งข้อมูล ซึ่งจะช่วยให้คุณสามารถกรอก Smart Markers อัตโนมัติในระหว่างการประมวลผลได้

designer = ac.WorkbookDesigner()
designer.workbook = workbook
designer.set_data_source(table)

ขั้นตอนที่ 4: ประมวลผล Smart Markers

ดำเนินการเปลี่ยนแท็ก Smart Marker โดยเรียกใช้วิธีการ process() ซึ่งจะทำการวนรอบผ่านแหล่งข้อมูลและแทรกค่าเข้าไปในตำแหน่งที่สอดคล้องในสมุดงาน

designer.process()

ขั้นตอนที่ 5: บันทึกชีตงานที่รวมกัน

บันทึกเวิร์กบุ๊กที่ประมวลผลแล้วลงดิสก์ในรูปแบบ Excel.

workbook.save("MergedOutput.xlsx")

(Optional) Export the Output as PDF

เพื่อสร้างเวอร์ชัน PDF ของสมุดงานที่รวมกัน ให้กำหนดตัวเลือกการบันทึก PDF และระบุ SaveFormat.PDF ระหว่างการส่งออก

pdf_options = ac.PdfSaveOptions()
workbook.save("MergedOutput.pdf", ac.SaveFormat.PDF)

Full Python Code for Mail Merge

ตัวอย่างต่อไปนี้แสดงกระบวนการทั้งหมดในการสร้างการรวมจดหมายจาก Excel โดยใช้ Aspose.Cells for Python。

import aspose.cells as ac

# Load template
workbook = ac.Workbook("Template.xlsx")

# Create data source
table = ac.DataTable("Data")
table.columns.add("Name")
table.columns.add("Email")
table.columns.add("Amount")
table.rows.add(["Alice", "alice@example.com", 1000])
table.rows.add(["Bob", "bob@example.com", 1500])

# Connect data source
designer = ac.WorkbookDesigner()
designer.workbook = workbook
designer.set_data_source(table)
designer.process()

# Save output
workbook.save("MergedOutput.xlsx")

# Export to PDF
pdf_options = ac.PdfSaveOptions()
workbook.save("MergedOutput.pdf", ac.SaveFormat.PDF)

ตรวจสอบให้แน่ใจว่า Smart Markers ในเทมเพลต Excel ตรงกับชื่อคอลัมน์ที่กำหนดใน DataTable ตัวอย่างเช่น &=Data.Name ในเทมเพลตจะตรงกับคอลัมน์ที่ชื่อว่า \"Name\" ในแหล่งข้อมูล.

การประยุกต์ใช้นี้ทำให้กระบวนการสร้างเอกสารอัตโนมัติ เช่น ใบแจ้งหนี้ รายงาน หรือใบรับรอง โดยไม่ต้องติดตั้ง Microsoft Excel

Output

แต่ละแถวในแหล่งข้อมูลจะสร้างแถวที่ปรับแต่งใหม่ในไฟล์ Excel ซึ่งมีการวาง Smart Markers ไว้

การรวมจดหมายจาก Excel ใน Python - ผลลัพธ์

การรวมจดหมายจาก Excel ใน Python - ผลลัพธ์

รับใบอนุญาตฟรี

คุณสามารถ request a free temporary license เพื่อประเมินความสามารถทั้งหมดของ Aspose.Cells for Python ผ่าน .NET โดยไม่มีข้อจำกัดในการประเมินผล

ใบอนุญาตนี้ช่วยให้สามารถทดสอบฟีเจอร์ API ทั้งหมดได้โดยไม่มีข้อจำกัด รวมถึงการรวมเมล การส่งออก PDF และการจัดการชุดข้อมูลขนาดใหญ่

Excel Mail Merge in Python: Free Resources

สรุป

การรวมจดหมายจาก Excel โดยใช้ Python ทำให้การสร้างเอกสารในระดับใหญ่เป็นเรื่องง่ายขึ้น ด้วย Smart Markers ของ Aspose.Cells คุณสามารถทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติได้อย่างรวดเร็วในเพียงไม่กี่บรรทัดของรหัส ไม่ว่าจะเป็นการส่งใบแจ้งหนี้ การสร้างใบรับรอง หรือการสร้างรายงาน API ของ Python ให้การควบคุมและความยืดหยุ่นอย่างเต็มที่

Need help? Join our free support forum.

ดูเพิ่มเติม