---
optimized: true
lastmod: 2024-12-11
title: "อัตโนมัติรายงานด้วย C# Mail Merge | Aspose.Words' Mail Merge Plugin"
seoTitle: "C# Mail Merge สำหรับ .NET | สร้างรายงานและจดหมายด้วย Aspose.Words"
description: "เรียนรู้วิธีการทำให้การสร้างรายงาน จดหมาย ใบแจ้งหนี้ และอื่น ๆ เป็นอัตโนมัติด้วย C# Mail Merge กับ Aspose.Words สำหรับ .NET ทำให้การทำงานกับเอกสารในแอปพลิเคชัน .NET ของคุณง่ายขึ้นด้วยไลบรารีที่ทรงพลังนี้ สำรวจ Aspose Plugin ในราคาเพียง $99."
date: 2024-01-01
draft: false
author: "Usman Aziz"
summary: "ค้นพบวิธีการทำให้การสร้างเอกสารใน C# เป็นอัตโนมัติด้วย Aspose.Words Mail Merge ตั้งแต่รายงานไปจนถึงจดหมายและใบแจ้งหนี้ ทำให้แอป .NET ของคุณมีความคล่องตัวด้วยความสามารถในการ Mail Merge แบบไดนามิก เริ่มใช้งาน .NET Plugin วันนี้ในราคาเพียง $99."
tags:
- "C# Mail Merge"
- ".NET Reports Automation"
- "Mail Merge without Office"
- "Aspose.Words"
- "Aspose Plugin"
- ".NET Plugin"
categories:
- "Aspose.Words Plugin Family"
---
## บทนำ
การทำให้การสร้างเอกสารส่วนบุคคล เช่น รายงาน จดหมาย และใบแจ้งหนี้ เป็นอัตโนมัติสามารถช่วยประหยัดเวลาและความพยายามของคุณได้ ด้วย **C# Mail Merge** ที่ขับเคลื่อนโดย Aspose.Words สำหรับ .NET คุณสามารถทำสิ่งนี้ได้อย่างราบรื่น คู่มือนี้จะพาคุณผ่านการใช้งาน **Aspose.Words Mail Merge Plugin** เพื่อทำการสร้างเอกสารที่มีประสิทธิภาพและปรับขนาดได้ภายในแอปพลิเคชัน .NET ของคุณ โดยไม่ต้องใช้ MS Word หรือ Office Interop เมื่อคุณจบ คุณจะมีความสามารถในการรวม **C# mail merge สำหรับการทำรายงานอัตโนมัติ** และทำให้กระบวนการรายงานของคุณมีประสิทธิภาพมากขึ้น
---
## เนื้อหา:
- [Mail Merge คืออะไร?](#what-is-mail-merge)
- [แหล่งข้อมูลสำหรับ Mail Merge](#data-sources-for-mail-merge)
- [การเตรียมเทมเพลต Mail Merge](#preparing-mail-merge-templates)
- [เริ่มต้นใช้งาน Aspose.Words สำหรับ .NET](#getting-started-with-asposewords-for-net)
- [ทำ Mail Merge ด้วยข้อมูลตัวอย่าง](#perform-mail-merge-with-sample-data)
- [Mail Merge ด้วยข้อมูล XML](#mail-merge-with-xml-data)
- [การจัดรูปแบบฟิลด์การรวมแบบกำหนดเอง](#custom-merge-field-formatting)
- [Mail Merge ด้วยภูมิภาค](#mail-merge-with-regions)
- [Mail Merge ซ้อน](#nested-mail-merge)
- [บทสรุป](#conclusion)
---
## Mail Merge คืออะไร? {#what-is-mail-merge}
Mail Merge เป็นวิธีการที่ทรงพลังในการสร้างเอกสารแบบไดนามิกโดยการเติมข้อมูลในเทมเพลตจากแหล่งข้อมูลต่าง ๆ ด้วย **Aspose.Words** คุณสามารถทำให้การทำงานเช่น:
- สร้างจดหมายและใบแจ้งหนี้ที่เป็นส่วนตัว
- สร้างรายงานจำนวนมากโดยใช้รูปแบบที่มีโครงสร้างเช่น XML, JSON หรือฐานข้อมูล ทำให้การสร้างรายงานแบบไดนามิกด้วย C# และ Aspose.Words เป็นไปได้
---
## แหล่งข้อมูลสำหรับ Mail Merge {#data-sources-for-mail-merge}
Aspose.Words รองรับแหล่งข้อมูลที่หลากหลาย รวมถึง:
- **วัตถุ**: เติมเทมเพลตโดยใช้ตัวอย่างคลาส
- **XML**: โหลดข้อมูลที่มีโครงสร้างสำหรับฟิลด์แบบไดนามิก
- **JSON**: รวมเข้ากับ API สมัยใหม่ได้อย่างง่ายดาย
- **CSV**: ใช้ข้อมูลแบบตารางสำหรับการสร้างเอกสารจำนวนมาก
- **DataTable/DataSet**: ใช้ ADO.NET สำหรับการรวมข้อมูลจากฐานข้อมูล
---
## การเตรียมเทมเพลตสำหรับ Mail Merge {#preparing-mail-merge-templates}
เทมเพลตสำหรับ Mail Merge คือเอกสารที่มีฟิลด์การรวมที่จะถูกเติมด้วยข้อมูลจากแหล่งข้อมูลที่คุณระบุในระหว่างการดำเนินการ เทมเพลตสามารถอยู่ในรูปแบบ DOC หรือ DOCX และไม่จำเป็นต้องมีรูปแบบเฉพาะ ทำตามขั้นตอนเหล่านี้เพื่อสร้างเทมเพลต Mail Merge:
1. เปิดเอกสารของคุณหรือสร้างใหม่ใน MS Word
2. วางเคอร์เซอร์ที่ตำแหน่งที่คุณต้องการแทรกฟิลด์การรวม
3. จากเมนู **แทรก** เลือกตัวเลือก **ฟิลด์**
4. จากรายการ **ชื่อฟิลด์** เลือก **MergeField**
5. ระบุชื่อสำหรับฟิลด์การรวมในกล่อง **ชื่อฟิลด์** และคลิก **ตกลง**
6. บันทึกเอกสาร
ภาพหน้าจอต่อไปนี้แสดงให้เห็นถึง [เทมเพลตตัวอย่าง](https://github.com/aspose-words) เอกสาร
---
## .NET Mail Merge API - การติดตั้ง {#getting-started-with-asposewords-for-net}
คุณสามารถติดตั้ง **Aspose.Words สำหรับ .NET** ผ่านวิธีการต่าง ๆ:
- [ดาวน์โหลด DLL](https://downloads.aspose.com/words)
- [ติดตั้งผ่าน NuGet Package Manager](http://nuget.org/packages/Aspose.Words)
## ทำ Mail Merge ในเอกสาร Word โดยใช้ C# {#perform-mail-merge-with-sample-data}
เมื่อเทมเพลตของคุณพร้อมแล้ว คุณสามารถดำเนินการ Mail Merge เพื่อสร้างเอกสารได้ นี่คือขั้นตอนในการทำ Mail Merge บนเทมเพลตที่เตรียมไว้ของคุณ:
1. โหลดเอกสารเทมเพลตโดยใช้คลาส [Document](https://reference.aspose.com/words/net/aspose.words/document)
2. ตั้งค่าตัวเลือก Mail Merge ที่จำเป็น เช่น [Document.MailMerge.TrimWhitespaces](https://reference.aspose.com/words/net/aspose.words.mailmerging/mailmerge/properties/index)
3. ดำเนินการ Mail Merge โดยใช้วิธี [Document.MailMerge.Execute()](https://reference.aspose.com/words/net/aspose.words/document/properties/mailmerge) โดยส่งแหล่งข้อมูลเป็นพารามิเตอร์
4. บันทึกเอกสารที่สร้างขึ้นโดยใช้วิธี [Document.Save(String)](https://reference.aspose.com/words/net/aspose.words.document/save/methods/2)
นี่คือตัวอย่างโค้ดที่แสดงวิธีการ **ทำให้การสร้างรายงานเป็นอัตโนมัติใน C# โดยใช้อาร์เรย์ของค่า**:
---
### เอกสาร Word หลังจาก Mail Merge
---
## ทำ Mail Merge โดยใช้แหล่งข้อมูล XML ใน C# {#mail-merge-with-xml-data}
ไฟล์ XML มักใช้สำหรับการจัดเก็บและถ่ายโอนข้อมูล Aspose.Words สำหรับ .NET รองรับ XML เป็นแหล่งข้อมูลสำหรับการดำเนินการ Mail Merge เพียงอ่าน XML ลงในวัตถุ [DataSet](https://docs.microsoft.com/en-us/dotnet/api/system.data.dataset) และดำเนินการ Mail Merge ด้านล่างเป็นไฟล์ XML ตัวอย่างสำหรับกรณีการใช้งานของเรา
```xml
<customers>
<customer Name="John Ben Jan" ID="1" Domain="History" City="Boston"/>
<customer Name="Lisa Lane" ID="2" Domain="Chemistry" City="LA"/>
<customer Name="Dagomir Zits" ID="3" Domain="Heraldry" City="Milwaukee"/>
<customer Name="Sara Careira Santy" ID="4" Domain="IT" City="Miami"/>
</customers>
ตัวอย่างโค้ดต่อไปนี้ดึงข้อมูลจากแหล่งข้อมูล XML และดำเนินการ Mail Merge โดยใช้ C#.
ด้านล่างนี้คือ เทมเพลต ที่จะถูกเติมด้วยข้อมูลจากไฟล์ XML

ภาพนี้แสดงถึงหน้าที่หนึ่งของเอกสาร Word ที่ได้จากการดำเนินการ Mail Merge

การจัดรูปแบบฟิลด์การรวมแบบกำหนดเอง
Aspose.Words สำหรับ .NET มอบการควบคุมที่เพิ่มขึ้นเกี่ยวกับกระบวนการ Mail Merge คุณสมบัติ MailMerge.FieldMergingCallback ช่วยให้คุณกำหนดพฤติกรรม Mail Merge เมื่อพบฟิลด์การรวมแต่ละฟิลด์ การใช้งานวิธี IFieldMergingCallback.FieldMerging และ IFieldMergingCallback.ImageFieldMerging จะช่วยให้คุณปรับแต่งการดำเนินการ Mail Merge
ด้านล่างนี้คือตัวอย่างโค้ดที่แสดงวิธีการใช้การจัดรูปแบบแบบกำหนดเองระหว่างการ Mail Merge ผ่านเทมเพลตตัวอย่างที่ให้ไว้:
ต่อไปนี้คือการใช้งานคลาส HandleMergeFieldAlternatingRows
Mail Merge ด้วยภูมิภาคโดยใช้ C#
ในบางกรณี คุณอาจต้องเติมและทำซ้ำภูมิภาคเฉพาะภายในเอกสาร Word สำหรับสถานการณ์ดังกล่าว ใช้ Mail Merge กับภูมิภาค เพื่อสร้างภูมิภาค ให้ระบุทั้งจุดเริ่มต้นและจุดสิ้นสุดของภูมิภาค; Mail Merge จะทำซ้ำภูมิภาคนี้สำหรับแต่ละระเบียนในแหล่งข้อมูล ตัวอย่างเทมเพลตด้านล่างมีภูมิภาคสองภูมิภาค—Orders และ OrderDetails—โดยใช้ฟิลด์การรวม «TableStart:Orders», «TableEnd:Orders», «TableStart:OrderDetails», และ «TableEnd:OrderDetails».

นี่คือตัวอย่างโค้ดที่ดำเนินการ Mail Merge ตามภูมิภาคสำหรับ เทมเพลต ที่กล่าวถึงก่อนหน้านี้
วิธีการต่อไปนี้แสดงวิธีการอ่านข้อมูลจากฐานข้อมูล
Mail Merge ซ้อน
บ่อยครั้ง ข้อมูลจากแหล่งที่มาจะถูกจัดโครงสร้างในรูปแบบเชิงสัมพันธ์ ตัวอย่างเช่น “Orders” อาจมีความสัมพันธ์แบบหนึ่งต่อหลายกับ “OrderDetails” ซึ่งเก็บบันทึกของรายการภายในคำสั่ง ในกรณีเช่นนี้ ให้ใช้ Mail Merge ซ้อน ด้านล่างนี้เป็น เทมเพลตใบแจ้งหนี้ ที่เหมาะสมกับสถานการณ์นี้

ต่อไปนี้คือแหล่งข้อมูล XML สำหรับตัวอย่าง Mail Merge ซ้อนของเรา
<?xml version="1.0" encoding="utf-8"?>
<Orders xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="OrdersSchema.xsd">
<Order>
<Number>23</Number>
<Address>Nelson Street</Address>
<Suburb>Howick</Suburb>
<City>Auckland</City>
<Phonenumber>543 1234</Phonenumber>
<Date>03/01/2010</Date>
<Total>14.00</Total>
<Item>
<Name>BBQ Chicken Pizza</Name>
<Price>6.00</Price>
<Quantity>1</Quantity>
<ItemTotal>6.00</ItemTotal>
</Item>
<Item>
<Name>1.5 Litre Coke</Name>
<Price>4.00</Price>
<Quantity>2</Quantity>
<ItemTotal>8.00</ItemTotal>
</Item>
</Order>
<Order>
<Number>10</Number>
<Address>Parkville Avenue</Address>
<Suburb>Pakuranga</Suburb>
<City>Auckland</City>
<Phonenumber>548 7342</Phonenumber>
<Date>05/03/2010</Date>
<Total>6.00</Total>
<Item>
<Name>Hawaiian Pizza</Name>
<Price>4.00</Price>
<Quantity>1</Quantity>
<ItemTotal>4.00</ItemTotal>
</Item>
<Item>
<Name>Fries</Name>
<Price>1.00</Price>
<Quantity>2</Quantity>
<ItemTotal>2.00</ItemTotal>
</Item>
</Order>
</Orders>
ไฟล์ OrderSchema.xsd ที่เกี่ยวข้องกับ XML นี้คือ:
<?xml version="1.0" encoding ="utf-8"?>
<xs:schema id="OrdersSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Orders">
<xs:complexType>
<xs:sequence>
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element name="Number"/>
<xs:element name="Address"/>
<xs:element name="Suburb"/>
<xs:element name="City"/>
<xs:element name="Phonenumber"/>
<xs:element name="Date"/>
<xs:element name="Total"/>
<xs:element name="Item">
<xs:complexType>
<xs:sequence>
<xs:element name="Name"/>
<xs:element name="Price"/>
<xs:element name="Quantity"/>
<xs:element name="ItemTotal"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
ตัวอย่างโค้ดต่อไปนี้ดำเนินการ Mail Merge ซ้อนโดยใช้ C#.
เอกสาร Word หลังจาก Mail Merge
ด้านล่างนี้คือหน้าที่หนึ่งของเอกสาร Word ที่ได้จากการดำเนินการ Mail Merge ซ้อน

บทสรุป
Aspose.Words สำหรับ .NET เป็น API Mail Merge ที่ครอบคลุมซึ่งให้ฟีเจอร์มาตรฐานและฟีเจอร์ขยายที่เหมาะสมสำหรับแอปพลิเคชัน .NET ด้วยโค้ดเพียงไม่กี่บรรทัด คุณสามารถพัฒนารายงานที่ง่ายหรือซับซ้อนจากแหล่งข้อมูลที่หลากหลายได้อย่างราบรื่น สำหรับแนวทางเกี่ยวกับ แนวทางปฏิบัติที่ดีที่สุดในการสร้างรายงานอัตโนมัติใน .NET โปรดตรวจสอบ เอกสาร เพื่อเริ่มต้นกับ Aspose.Words สำหรับ .NET สำรวจ คู่มือสำหรับนักพัฒนา และตัวอย่างโค้ดบน GitHub Aspose Plugin ยังมีฟังก์ชันการทำงานขั้นสูงสำหรับการสร้างรายงาน
ทดลองใช้ Aspose.Words สำหรับ .NET ฟรี
คุณสามารถขอใบอนุญาตชั่วคราวฟรีเพื่อทดลองใช้ Aspose.Words สำหรับ .NET โดยไม่มีข้อจำกัด รับใบอนุญาตชั่วคราวของคุณตอนนี้.
ดูเพิ่มเติม