Злиття пошти з Excel в C# | Злиття пошти з Excel в Excel

Mail merge робить легким створення персоналізованих документів в великій кількості, таких як листи, електронні листи, рахунки або сертифікати. Ви починаєте з шаблону і заповнюєте його, використовуючи дані з електронної таблиці. Кожен рядок у файлі Excel генерує новий документ з правильними деталями у правильних місцях. Це розумний спосіб автоматизувати рутинні завдання, такі як надсилання рахунків або створення звітів. У цьому пості ми покажемо вам, як виконати злиття пошти з Excel, використовуючи C#. Давайте почнемо.

Ця стаття охоплює такі теми:

C# Бібліотека злиття пошти Excel

Ми будемо використовувати Aspose.Cells for .NET API для виконання злиття пошти з Excel в C#. Він пропонує потужні інструменти для роботи з Excel файлами безпосередньо в вашому коді. Він дозволяє розробникам легко створювати, читати та оновлювати електронні таблиці. Ви також можете без труднощів виконувати складні завдання, такі як злиття пошти. Бібліотека робить автоматизацію Excel швидкою, гнучкою та надійною.

Щоб почати роботу з Aspose.Cells for .NET, дотримуйтесь цих простих інструкцій для встановлення:

  1. Будь ласка, завантажте це з releases.
  2. Встановіть бібліотеку за допомогою NuGet Package Manager за допомогою наступної команди:
PM> Install-Package Aspose.Cells

Як працює злиття пошти з Aspose.Cells?

Aspose.Cells не підтримує `mail merge” в такому ж способі, як Word.Він додає mail merge до Excel за допомогою Smart Markers.Ці маркери виступають як заповнювачі у вашій електронній таблиці, а бібліотека замінює їх на реальні дані під час виконання. Поки вона обробляє кожен рядок з вашого джерела даних, вона заповнює шаблон та автоматично розширює вміст, дозволяючи вам генерувати повністю персоналізовані документи всього за кілька рядків коду C#.

&=DataSource.ColumnName

Під час обробки Aspose.Cells замінює це на фактичні дані з DataTable, List<T> або будь-якого IEnumerable. Наприклад, бібліотека замінює &=Data.Name на значення з стовпця Name у таблиці Data.

Підготуйте шаблон Excel

Створіть файл Excel (наприклад, Template.xlsx) з розумними маркерами. Ось приклад макету:

NameEmailAmount
&=Data.Name&=Data.Email&=Data.Amount

Крок за кроком посібник із виконання злиття пошти з Excel в C#

Щоб виконати злиття пошти з Excel за допомогою Aspose.Cells for .NET, просто виконайте ці кроки:

Крок 1: Завантажте шаблон Excel

Завантажте файл шаблону Excel, який містить смарт-маркери, за допомогою класу Workbook. Клас Workbook представляє весь файл Excel (робоча книга).Завантажений файл-шаблон слугує як макет для вашого злитого виводу.

Workbook workbook = new Workbook("Template.xlsx");

Крок 2: Створіть DataTable

Ось тут ми створюємо DataTable, який імітує ваш джерело даних Excel. Кожен стовпець відповідає смарт-маркеру, а кожен рядок представляє один набір значень для вставки. Клас DataTable з System.Data містить дані, які ви хочете об’єднати. Кожен стовпець відповідає смарт-маркеру, а кожен рядок надає унікальний набір значень.

DataTable dt = new DataTable("Data");
dt.Columns.Add("Name");
dt.Columns.Add("Email");
dt.Columns.Add("Amount");

dt.Rows.Add("Alice", "alice@example.com", 1000);
dt.Rows.Add("Bob", "bob@example.com", 1500);

Крок 3: Підключіть свій шаблон Excel до джерела даних

Ми використовуємо клас WorkbookDesigner для підключення шаблону до даних. Клас WorkbookDesigner є спеціальним класом в Aspose.Cells, призначеним для обробки смарт-маркерів і звязування даних. Він повязує ваш джерело даних (наприклад, DataTable) з шаблоном Excel. Метод SetDataSource() прив`язує DataTable (Дані) до смарт-маркерів у робочій книжці.

WorkbookDesigner designer = new WorkbookDesigner(workbook);
designer.SetDataSource(dt);
  • SetDataSource() приєднує DataTable до смарт-маркерів у робочій книзі.
  • "Data" - це ім’я, яке використовується в маркерах, таких як &=Data.Name.

Крок 4: Виконайте об`єднання пошти

Як тільки ви налаштували джерело даних, виклик Process() заповнює всі Смарт Маркери реальними значеннями з DataTable. Ця команда виконує підготовку листів. Вона проходить через Смарт Маркери та замінює їх фактичними значеннями з джерела даних.

designer.Process();

Крок 5: Збережіть файл

Нарешті, ми зберігаємо завершений файл з усіма злитими даними.

workbook.Save("MergedOutput.xlsx");

Збережіть злитий вихід як PDF

Ви можете легко зберегти об`єднаний документ Excel як PDF за допомогою одного рядка коду.

// Set PDF options
PdfSaveOptions options = new PdfSaveOptions();

// Save as PDF
workbook.Save("MergedDocument.pdf", SaveFormat.Pdf);

Complete C# Code to Mail Merge Data

// Завантажте шаблон Excel
Workbook workbook = new Workbook("Template.xlsx");

// Create dummy data
DataTable dt = new DataTable("Data");
dt.Columns.Add("Name");
dt.Columns.Add("Email");
dt.Columns.Add("Amount");

dt.Rows.Add("Alice", "alice@example.com", 1000);
dt.Rows.Add("Bob", "bob@example.com", 1200);

// Встановіть джерело даних
WorkbookDesigner designer = new WorkbookDesigner(workbook);
designer.SetDataSource(dt);

// Обробка смарт-маркерів (злиття пошти)
designer.Process();

// Save the output
workbook.Save("MergedOutput.xlsx");

Output

Вихідний файл Excel містить рядок для кожного запису з персоналізованими даними, заповненими на місці смарт-маркерів.

Злиття пошти з Excel у C# - Вихідний результат

Злиття пошти з Excel в C# - Вивід

Отримайте безкоштовну ліцензію

Отримайте безкоштовну тимчасову ліцензію, яка дозволяє вам протестувати всі функції Aspose.Cells for .NET без обмежень. Це ідеально підходить, якщо ви оцінюєте API для автоматизації завдань, таких як злиття пошти, звітність Excel або експорт у PDF.

Excel до Excel поштове злиття: Безкоштовні ресурси

На додачу до злиття електронних листів в Excel, ми пропонуємо різні ресурси, щоб допомогти вам глибше зрозуміти Aspose.Cells for .NET. Ознайомтеся з нашою документацією, навчальними посібниками та форумами спільноти для отримання додаткової інформації.

Часто задавані питання (ЧЗП)

Q1: Чи можу я використовувати злиття листів в Excel без встановленого Microsoft Office?

Так, злиття пошти не потребує Microsoft Office. Aspose.Cells функціонує самостійно і обробляє все за допомогою своїх API.

Q2: Яка різниця між Smart Markers та Word Merge Fields?

Розумні маркери працюють в Excel і є більш налаштовувальними для розширення даних за рядками. Поля злиття специфічні для Word.

Q3: Чи можу я об’єднати з Excel в Word, використовуючи Aspose?

Так, але вам знадобиться Aspose.Words для цього сценарію.

Q4: Чи можливо автоматизувати генерування PDF з злиттів Excel?

Абсолютно. Просто збережіть фінальну робочу книгу у форматі PDF, використовуючи Aspose.Cells.

Висновок

Злиття пошти з Excel пропонує потужний спосіб створення динамічних, персоналізованих документів, використовуючи знайомий інтерфейс електронних таблиць. У цьому блозі ми розглянули злиття пошти з Excel, використовуючи C#. Використовуючи Smart Markers Aspose.Cells, ви отримуєте гнучкість повністю автоматизувати цей процес і генерувати тисячі рахунків, сертифікатів або будь-яких структурованих звітів.

Якщо у вас є будь-які питання або вам потрібна додаткова допомога, будь ласка, не соромтеся звертатися на наш безкоштовний форум підтримки.

Дивіться також