Odso

Odso class

指定邮件合并数据源的 Office 数据源对象 (ODSO) 设置。

要了解更多信息,请访问邮件合并和报告文档文章。

public class Odso

构造函数

姓名描述
Odso()默认构造函数。

特性

姓名描述
ColumnDelimiter { get; set; }指定应解释为用于分隔外部数据源中的列的列分隔符的字符。 默认值为 0,这意味着没有定义列分隔符。
DataSource { get; set; }指定要连接到文档以执行邮件合并的外部数据源的位置。 默认值为空字符串。
DataSourceType { get; set; }指定要连接到的外部数据源的类型,作为此邮件合并的 ODSO 连接信息的一部分。 默认值为Default.
FieldMapDatas { get; set; }获取或设置对象集合,这些对象指定如何将外部数据源 中的列映射到文档中的预定义合并字段名称。 该对象从不无效的.
FirstRowContainsColumnNames { get; set; }指定托管应用程序应将指定外部数据 源中的第一行数据视为包含数据源中每列名称的标题行。 默认值为错误的.
RecipientDatas { get; set; }获取或设置指定在邮件合并中包含/排除单个记录的对象集合。 该对象从不无效的.
TableName { get; set; }指定源应在外部数据源内连接到的特定数据集。 默认值为空字符串。
UdlConnectString { get; set; }指定用于连接到外部数据源的通用数据链接 (UDL) 连接字符串。 默认值为空字符串。

方法

姓名描述
Clone()返回此对象的深度克隆。

评论

ODSO 似乎是较新的 Microsoft Word 版本在为邮件合并文档指定某些 类型的数据源时更喜欢使用的“新”方式。 ODSO 可能首先出现在 Microsoft Word 2000 中。

ODSO 的使用记录很少,了解如何使用此对象 的属性的最佳方法是在 Microsoft Word 中手动创建具有所需数据源的文档,然后使用 Aspose.Words 打开该文档并检查属性的MailMergeSettingsOdso对象。例如,如果您想了解如何 以编程方式配置数据源,那么这是一个很好的方法。

您通常不需要直接创建此类的对象,因为 ODSO settings 始终可通过Odso财产。

例子

演示如何使用 Office 数据源对象中的数据执行邮件合并。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Write("Dear ");
builder.InsertField("MERGEFIELD FirstName", "<FirstName>");
builder.Write(" ");
builder.InsertField("MERGEFIELD LastName", "<LastName>");
builder.Writeln(": ");
builder.InsertField("MERGEFIELD Message", "<Message>");

// 创建一个ASCII文件形式的数据源,带有“|”特点
// 充当分隔列的分隔符。第一行包含三列的名称,
// 随后的每一行都是具有各自值的行。
string[] lines = { "FirstName|LastName|Message",
    "John|Doe|Hello! This message was created with Aspose Words mail merge." };
string dataSrcFilename = ArtifactsDir + "MailMerge.MailMergeSettings.DataSource.txt";

File.WriteAllLines(dataSrcFilename, lines);

MailMergeSettings settings = doc.MailMergeSettings;
settings.MainDocumentType = MailMergeMainDocumentType.MailingLabels;
settings.CheckErrors = MailMergeCheckErrors.Simulate;
settings.DataType = MailMergeDataType.Native;
settings.DataSource = dataSrcFilename;
settings.Query = "SELECT * FROM " + doc.MailMergeSettings.DataSource;
settings.LinkToQuery = true;
settings.ViewMergedData = true;

Assert.AreEqual(MailMergeDestination.Default, settings.Destination);
Assert.False(settings.DoNotSupressBlankLines);

Odso odso = settings.Odso;
odso.DataSource = dataSrcFilename;
odso.DataSourceType = OdsoDataSourceType.Text;
odso.ColumnDelimiter = '|';
odso.FirstRowContainsColumnNames = true;

Assert.AreNotSame(odso, odso.Clone());
Assert.AreNotSame(settings, settings.Clone());

 // 在 Microsoft Word 中打开此文档将在显示内容之前执行邮件合并。
doc.Save(ArtifactsDir + "MailMerge.MailMergeSettings.docx");

也可以看看