---
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) เอกสาร

Mail Merge Template
--- ## .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
Execute Mail Merge in C#
--- ## ทำ 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

Mail Merge Template for XML

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

Execute Mail Merge with XML in C#

การจัดรูปแบบฟิลด์การรวมแบบกำหนดเอง

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 with Regions

นี่คือตัวอย่างโค้ดที่ดำเนินการ Mail Merge ตามภูมิภาคสำหรับ เทมเพลต ที่กล่าวถึงก่อนหน้านี้

วิธีการต่อไปนี้แสดงวิธีการอ่านข้อมูลจากฐานข้อมูล

Mail Merge ซ้อน

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

Mail Merge Template with Regions

ต่อไปนี้คือแหล่งข้อมูล 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 ซ้อน

Word Document after Mail Merge

บทสรุป

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

ทดลองใช้ Aspose.Words สำหรับ .NET ฟรี

คุณสามารถขอใบอนุญาตชั่วคราวฟรีเพื่อทดลองใช้ Aspose.Words สำหรับ .NET โดยไม่มีข้อจำกัด รับใบอนุญาตชั่วคราวของคุณตอนนี้.

ดูเพิ่มเติม