Mail Merge z Excela w C# | Mail Merge Excela do Excela

Mail merge ułatwia tworzenie spersonalizowanych dokumentów masowo, takich jak listy, e-maile, faktury czy certyfikaty. Zaczynasz od szablonu i wypełniasz go danymi z arkusza kalkulacyjnego. Każdy wiersz w pliku Excel generuje nowy dokument z poprawnymi szczegółami w odpowiednich miejscach. To inteligentny sposób na automatyzację powtarzalnych zadań, takich jak wysyłanie faktur czy generowanie raportów. W tym poście pokażemy, jak przeprowadzić scalanie korespondencji z Excela przy użyciu C#. Zacznijmy.

Ten artykuł porusza następujące tematy:

C# Biblioteka do Fuzji Mail w Excelu

Będziemy używać API Aspose.Cells for .NET do wykonywania scalania korespondencji z Excela w C#. Oferuje potężne narzędzia do pracy z plikami Excel bezpośrednio w Twoim kodzie. Pozwala programistom tworzyć, odczytywać i aktualizować arkusze kalkulacyjne z łatwością. Możesz także obsługiwać zaawansowane zadania, takie jak scalanie korespondencji, bez problemu. Biblioteka sprawia, że automatyzacja Excela jest szybka, elastyczna i niezawodna.

Aby rozpocząć pracę z Aspose.Cells for .NET, wykonaj te proste instrukcje instalacji:

  1. Proszę pobrać to z releases.
  2. Zainstaluj bibliotekę za pomocą NuGet Package Manager używając następującego polecenia:
PM> Install-Package Aspose.Cells

Jak działa korespondencja seryjna z Aspose.Cells?

Aspose.Cells nie obsługuje “korespondencji seryjnej” w ten sam sposób, co Word.Dodaje korespondencję seryjną do Excela za pomocą Inteligentnych Znaczników.Te znaczniki działają jako miejsca rezerwowe w Twoim arkuszu kalkulacyjnym, a biblioteka zastępuje je rzeczywistymi danymi w czasie wykonywania. Gdy przetwarza każdy wiersz z Twojego źródła danych, uzupełnia szablon i automatycznie rozszerza treść, pozwalając na generowanie całkowicie spersonalizowanych dokumentów w zaledwie kilku linijkach kodu C#.

&=DataSource.ColumnName

Podczas przetwarzania, Aspose.Cells zastępuje to rzeczywistymi danymi z DataTable, List<T> lub dowolnego IEnumerable. Na przykład, biblioteka zastępuje &=Data.Name wartościami z kolumny Name w tabeli danych.

Przygotuj szablon Excela

Utwórz plik Excel (np. Template.xlsx) z inteligentnymi znacznikami. Oto przykładowy układ:

NazwaE-mailKwota
&=Data.Name&=Data.Email&=Data.Amount

Przewodnik krok po kroku, jak wykonać scalanie poczty z Excela w C#

Aby wykonać scalanie wysyłkowe z Excela za pomocą Aspose.Cells for .NET, wystarczy postępować zgodnie z tymi krokami:

Krok 1: Załaduj szablon Excela

Załaduj plik szablonu Excel zawierający Smart Markery za pomocą klasy Workbook. Klasa Workbook reprezentuje cały plik Excel (zeszyt).Załadowany plik szablonu działa jako układ dla Twojego scalonego wyjścia.

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

Krok 2: Utwórz DataTable

Tutaj tworzymy DataTable, który symuluje źródło danych Excela. Każda kolumna odpowiada inteligentnemu znacznikowi, a każdy wiersz reprezentuje jeden zestaw wartości do wstawienia. Klasa DataTable z System.Data przechowuje dane, które chcesz scalować. Każda kolumna odpowiada inteligentnemu znacznikowi, a każdy wiersz dostarcza unikalny zestaw wartości.

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);

Krok 3: Połącz swój szablon Excela z źródłem danych

Używamy klasy WorkbookDesigner, aby połączyć szablon z danymi. Klasa WorkbookDesigner to specjalna klasa w Aspose.Cells zaprojektowana do obsługi inteligentnych znaczników i powiązań danych. Łączy źródło danych (takie jak DataTable) z szablonem Excela. Metoda SetDataSource() wiąże DataTable (Dane) z inteligentnymi znacznikami w skoroszycie.

WorkbookDesigner designer = new WorkbookDesigner(workbook);
designer.SetDataSource(dt);
  • SetDataSource() przypisuje DataTable do Smart Markerów w skoroszycie.
  • "Data" to nazwa używana w markerach, takich jak &=Data.Name.

Krok 4: Wykonaj scalanie poczty

Po ustawieniu źródła danych, wywołanie Process() wypełnia wszystkie inteligentne znaczniki rzeczywistymi wartościami z tabeli danych. To polecenie wykonuje scalanie poczty. Przechodzi przez inteligentne znaczniki i zastępuje je rzeczywistymi wartościami ze źródła danych.

designer.Process();

Krok 5: Zapisz plik

W końcu zapisujemy ukończony plik ze wszystkimi danymi połączonymi w środku.

workbook.Save("MergedOutput.xlsx");

Zapisz scalony plik jako PDF

Możesz łatwo zapisać połączony dokument Excel jako PDF za pomocą jednej linii kodu.

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

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

Complete C# Code to Mail Merge Data

// Załaduj szablon Excela
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);

// Ustaw źródło danych
WorkbookDesigner designer = new WorkbookDesigner(workbook);
designer.SetDataSource(dt);

// Przetwarzaj inteligentne znaczniki (łączenie poczty)
designer.Process();

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

Output

Plik Excel, który jest wynikiem, zawiera wiersz dla każdego wpisu z osobistymi danymi w miejscu inteligentnych znaczników.

Mail Merge from Excel w C# - Wyjście

Mail Merge z Excela w C# - Wynik

Zdobądź darmową licencję

Get a free temporary license, który pozwala na przetestowanie wszystkich funkcji Aspose.Cells for .NET bez ograniczeń. Jest idealny, jeśli oceniasz API do zadań automatyzacji, takich jak scalanie korespondencji, raportowanie w Excelu lub eksport do PDF.

Excel do Excel Mail Merge: Darmowe zasoby

Oprócz scalania korespondencji w Excelu, oferujemy różne zasoby, aby pomóc Ci pogłębić swoją wiedzę na temat Aspose.Cells for .NET. Sprawdź naszą dokumentację, samouczki i fora społecznościowe, aby uzyskać więcej informacji.

Najczęściej Zadawane Pytania (FAQ)

Q1: Czy mogę używać korespondencji seryjnej w Excelu bez zainstalowanego Microsoft Office?

Tak, korespondencja seryjna nie wymaga Microsoft Office. Aspose.Cells działa niezależnie i obsługuje wszystko za pomocą własnych interfejsów API.

Q2: Jaka jest różnica między Smart Markers a Word Merge Fields?

Smart Markers działają w programie Excel i są bardziej konfigurowalne do rozszerzania danych w wierszach. Pola scalania są specyficzne dla programu Word.

Q3: Can I merge from Excel to Word using Aspose?

Tak, ale będziesz potrzebować Aspose.Words do tego scenariusza.

Q4: Czy możliwe jest zautomatyzowanie generowania PDF z scalania Excela?

Absolutnie. Po prostu zapisz finalny arkusz roboczy w formacie PDF przy użyciu Aspose.Cells.

Wniosek

Mail merge z Excela oferuje potężny sposób na generowanie dynamicznych, spersonalizowanych dokumentów przy użyciu znajomego interfejsu arkusza kalkulacyjnego. W tym poście na blogu przeszliśmy przez proces korespondencji masowej z Excela przy użyciu C#. Korzystając z inteligentnych znaczników Aspose.Cells, zyskujesz elastyczność do całkowitej automatyzacji tego procesu i generowania tysięcy faktur, certyfikatów lub jakichkolwiek uporządkowanych raportów.

Jeśli masz jakiekolwiek pytania lub potrzebujesz dalszej pomocy, prosimy o kontakt na naszym free support forum.

Zobacz także