Create
MailMerger.Create method
Erstellt eine neue Instanz des Serienbriefprozessors.
public static MailMerger Create(MailMergerContext context)
Beispiele
Zeigt, wie Sie mithilfe des Kontexts einen Serienbriefvorgang für einen einzelnen Datensatz durchführen.
// Es gibt mehrere Möglichkeiten, Serienbriefe zu erstellen:
string doc = MyDir + "Mail merge.doc";
string[] fieldNames = new string[] { "FirstName", "Location", "SpecialCharsInName()" };
string[] fieldValues = new string[] { "James Bond", "London", "Classified" };
MailMergerContext mailMergerContext = new MailMergerContext();
mailMergerContext.SetSimpleDataSource(fieldNames, fieldValues);
mailMergerContext.MailMergeOptions.TrimWhitespaces = true;
MailMerger.Create(mailMergerContext)
.From(doc)
.To(ArtifactsDir + "LowCode.MailMergeContext.docx")
.Execute();
Zeigt, wie Sie mithilfe des Kontexts einen Serienbriefvorgang aus einer DataRow durchführen.
// Es gibt mehrere Möglichkeiten, einen Serienbriefvorgang aus einer DataRow heraus durchzuführen:
string doc = MyDir + "Mail merge.doc";
DataTable dataTable = new DataTable();
dataTable.Columns.Add("FirstName");
dataTable.Columns.Add("Location");
dataTable.Columns.Add("SpecialCharsInName()");
DataRow dataRow = dataTable.Rows.Add(new string[] { "James Bond", "London", "Classified" });
MailMergerContext mailMergerContext = new MailMergerContext();
mailMergerContext.SetSimpleDataSource(dataRow);
mailMergerContext.MailMergeOptions.TrimWhitespaces = true;
MailMerger.Create(mailMergerContext)
.From(doc)
.To(ArtifactsDir + "LowCode.MailMergeContextDataRow.docx")
.Execute();
Zeigt, wie Sie mithilfe des Kontexts einen Seriendruckvorgang aus einer DataTable durchführen.
// Es gibt mehrere Möglichkeiten, Serienbriefvorgänge aus einer DataTable heraus durchzuführen:
string doc = MyDir + "Mail merge.doc";
DataTable dataTable = new DataTable();
dataTable.Columns.Add("FirstName");
dataTable.Columns.Add("Location");
dataTable.Columns.Add("SpecialCharsInName()");
DataRow dataRow = dataTable.Rows.Add(new string[] { "James Bond", "London", "Classified" });
MailMergerContext mailMergerContext = new MailMergerContext();
mailMergerContext.SetSimpleDataSource(dataTable);
mailMergerContext.MailMergeOptions.TrimWhitespaces = true;
MailMerger.Create(mailMergerContext)
.From(doc)
.To(ArtifactsDir + "LowCode.MailMergeContextDataTable.docx")
.Execute();
Zeigt, wie Sie mithilfe des Kontexts einen Serienbrief mit Regionen-Operation aus einer DataTable heraus durchführen.
// Es gibt mehrere Möglichkeiten, Serienbriefe mit Regionen aus einer DataTable heraus zu erstellen:
string doc = MyDir + "Mail merge with regions.docx";
DataTable dataTable = new DataTable("MyTable");
dataTable.Columns.Add("FirstName");
dataTable.Columns.Add("LastName");
dataTable.Rows.Add(new object[] { "John", "Doe" });
dataTable.Rows.Add(new object[] { "", "" });
dataTable.Rows.Add(new object[] { "Jane", "Doe" });
MailMergerContext mailMergerContext = new MailMergerContext();
mailMergerContext.SetRegionsDataSource(dataTable);
mailMergerContext.MailMergeOptions.TrimWhitespaces = true;
MailMerger.Create(mailMergerContext)
.From(doc)
.To(ArtifactsDir + "LowCode.MailMergeContextWithRegionsDataTable.docx")
.Execute();
Zeigt, wie Sie mithilfe des Kontexts einen Serienbriefvorgang für einen einzelnen Datensatz aus dem Stream durchführen.
// Es gibt mehrere Möglichkeiten, Serienbriefvorgänge mit Dokumenten aus dem Stream durchzuführen:
string[] fieldNames = new string[] { "FirstName", "Location", "SpecialCharsInName()" };
string[] fieldValues = new string[] { "James Bond", "London", "Classified" };
using (FileStream streamIn = new FileStream(MyDir + "Mail merge.doc", FileMode.Open, FileAccess.Read))
{
MailMergerContext mailMergerContext = new MailMergerContext();
mailMergerContext.SetSimpleDataSource(fieldNames, fieldValues);
mailMergerContext.MailMergeOptions.TrimWhitespaces = true;
using (FileStream streamOut = new FileStream(ArtifactsDir + "LowCode.MailMergeContextStream.docx", FileMode.Create, FileAccess.ReadWrite))
MailMerger.Create(mailMergerContext)
.From(streamIn)
.To(streamOut, SaveFormat.Docx)
.Execute();
}
Zeigt, wie Sie einen Serienbriefvorgang aus einer DataRow mithilfe von Dokumenten aus dem Stream unter Verwendung des Kontexts durchführen.
// Es gibt mehrere Möglichkeiten, einen Serienbriefvorgang aus einer DataRow unter Verwendung von Dokumenten aus dem Stream durchzuführen:
DataTable dataTable = new DataTable();
dataTable.Columns.Add("FirstName");
dataTable.Columns.Add("Location");
dataTable.Columns.Add("SpecialCharsInName()");
DataRow dataRow = dataTable.Rows.Add(new string[] { "James Bond", "London", "Classified" });
using (FileStream streamIn = new FileStream(MyDir + "Mail merge.doc", FileMode.Open, FileAccess.Read))
{
MailMergerContext mailMergerContext = new MailMergerContext();
mailMergerContext.SetSimpleDataSource(dataRow);
mailMergerContext.MailMergeOptions.TrimWhitespaces = true;
using (FileStream streamOut = new FileStream(ArtifactsDir + "LowCode.MailMergeContextStreamDataRow.docx", FileMode.Create, FileAccess.ReadWrite))
MailMerger.Create(mailMergerContext)
.From(streamIn)
.To(streamOut, SaveFormat.Docx)
.Execute();
}
Zeigt, wie Sie einen Serienbriefvorgang aus einer DataTable mithilfe von Dokumenten aus dem Stream unter Verwendung des Kontexts durchführen.
// Es gibt mehrere Möglichkeiten, Serienbriefvorgänge aus einer DataTable mithilfe von Dokumenten aus dem Stream durchzuführen:
DataTable dataTable = new DataTable();
dataTable.Columns.Add("FirstName");
dataTable.Columns.Add("Location");
dataTable.Columns.Add("SpecialCharsInName()");
DataRow dataRow = dataTable.Rows.Add(new string[] { "James Bond", "London", "Classified" });
using (FileStream streamIn = new FileStream(MyDir + "Mail merge.doc", FileMode.Open, FileAccess.Read))
{
MailMergerContext mailMergerContext = new MailMergerContext();
mailMergerContext.SetSimpleDataSource(dataTable);
mailMergerContext.MailMergeOptions.TrimWhitespaces = true;
using (FileStream streamOut = new FileStream(ArtifactsDir + "LowCode.MailMergeContextStreamDataTable.docx", FileMode.Create, FileAccess.ReadWrite))
MailMerger.Create(mailMergerContext)
.From(streamIn)
.To(streamOut, SaveFormat.Docx)
.Execute();
}
Zeigt, wie Sie mithilfe von Dokumenten aus dem Stream und Kontext einen Serienbrief mit Regionen-Operation aus einer DataTable heraus durchführen.
// Es gibt mehrere Möglichkeiten, Serienbriefe mit Regionen aus einer DataTable unter Verwendung von Dokumenten aus dem Stream auszuführen:
DataTable dataTable = new DataTable("MyTable");
dataTable.Columns.Add("FirstName");
dataTable.Columns.Add("LastName");
dataTable.Rows.Add(new object[] { "John", "Doe" });
dataTable.Rows.Add(new object[] { "", "" });
dataTable.Rows.Add(new object[] { "Jane", "Doe" });
using (FileStream streamIn = new FileStream(MyDir + "Mail merge.doc", FileMode.Open, FileAccess.Read))
{
MailMergerContext mailMergerContext = new MailMergerContext();
mailMergerContext.SetRegionsDataSource(dataTable);
mailMergerContext.MailMergeOptions.TrimWhitespaces = true;
using (FileStream streamOut = new FileStream(ArtifactsDir + "LowCode.MailMergeContextStreamWithRegionsDataTable.docx", FileMode.Create, FileAccess.ReadWrite))
MailMerger.Create(mailMergerContext)
.From(streamIn)
.To(streamOut, SaveFormat.Docx)
.Execute();
}
Zeigt, wie Sie mithilfe des Kontexts einen Serienbrief mit Regionen-Operation aus einem DataSet heraus durchführen.
// Es gibt mehrere Möglichkeiten, Serienbriefe mit Regionen aus einem DataSet heraus durchzuführen:
string doc = MyDir + "Mail merge with regions data set.docx";
DataTable tableCustomers = new DataTable("Customers");
tableCustomers.Columns.Add("CustomerID");
tableCustomers.Columns.Add("CustomerName");
tableCustomers.Rows.Add(new object[] { 1, "John Doe" });
tableCustomers.Rows.Add(new object[] { 2, "Jane Doe" });
DataTable tableOrders = new DataTable("Orders");
tableOrders.Columns.Add("CustomerID");
tableOrders.Columns.Add("ItemName");
tableOrders.Columns.Add("Quantity");
tableOrders.Rows.Add(new object[] { 1, "Hawaiian", 2 });
tableOrders.Rows.Add(new object[] { 2, "Pepperoni", 1 });
tableOrders.Rows.Add(new object[] { 2, "Chicago", 1 });
DataSet dataSet = new DataSet();
dataSet.Tables.Add(tableCustomers);
dataSet.Tables.Add(tableOrders);
dataSet.Relations.Add(tableCustomers.Columns["CustomerID"], tableOrders.Columns["CustomerID"]);
MailMergerContext mailMergerContext = new MailMergerContext();
mailMergerContext.SetRegionsDataSource(dataSet);
mailMergerContext.MailMergeOptions.TrimWhitespaces = true;
MailMerger.Create(mailMergerContext)
.From(doc)
.To(ArtifactsDir + "LowCode.MailMergeContextWithRegionsDataTable.docx")
.Execute();
Zeigt, wie Sie mithilfe von Dokumenten aus dem Stream und Kontext einen Serienbriefvorgang mit Regionen aus einem DataSet durchführen.
// Es gibt mehrere Möglichkeiten, Serienbriefe mit Regionen aus einem DataSet unter Verwendung von Dokumenten aus dem Stream auszuführen:
DataTable tableCustomers = new DataTable("Customers");
tableCustomers.Columns.Add("CustomerID");
tableCustomers.Columns.Add("CustomerName");
tableCustomers.Rows.Add(new object[] { 1, "John Doe" });
tableCustomers.Rows.Add(new object[] { 2, "Jane Doe" });
DataTable tableOrders = new DataTable("Orders");
tableOrders.Columns.Add("CustomerID");
tableOrders.Columns.Add("ItemName");
tableOrders.Columns.Add("Quantity");
tableOrders.Rows.Add(new object[] { 1, "Hawaiian", 2 });
tableOrders.Rows.Add(new object[] { 2, "Pepperoni", 1 });
tableOrders.Rows.Add(new object[] { 2, "Chicago", 1 });
DataSet dataSet = new DataSet();
dataSet.Tables.Add(tableCustomers);
dataSet.Tables.Add(tableOrders);
dataSet.Relations.Add(tableCustomers.Columns["CustomerID"], tableOrders.Columns["CustomerID"]);
using (FileStream streamIn = new FileStream(MyDir + "Mail merge.doc", FileMode.Open, FileAccess.Read))
{
MailMergerContext mailMergerContext = new MailMergerContext();
mailMergerContext.SetRegionsDataSource(dataSet);
mailMergerContext.MailMergeOptions.TrimWhitespaces = true;
using (FileStream streamOut = new FileStream(ArtifactsDir + "LowCode.MailMergeContextStreamWithRegionsDataSet.docx", FileMode.Create, FileAccess.ReadWrite))
MailMerger.Create(mailMergerContext)
.From(streamIn)
.To(streamOut, SaveFormat.Docx)
.Execute();
}
Siehe auch
- class MailMergerContext
- class MailMerger
- namensraum Aspose.Words.LowCode
- Montage Aspose.Words