ReportBuilderContext
内容
[
隐藏
]ReportBuilderContext class
LINQ 报告引擎上下文。
public class ReportBuilderContext : ProcessorContext
构造函数
姓名 | 描述 |
---|---|
ReportBuilderContext() | 默认构造函数。 |
特性
姓名 | 描述 |
---|---|
DataSources { get; } | 用于构建报告的数据源。 |
FontSettings { get; set; } | 处理器使用的字体设置。 |
LayoutOptions { get; } | 处理器使用的文档布局选项。 |
ReportBuilderOptions { get; } | 报告构建选项。 |
WarningCallback { get; set; } | 处理器使用的警告回调。 |
例子
展示如何使用来自流的文档将数据源填充到文档中。
// 有几种方法可以使用流中的文档将数据源填充到文档中:
MessageTestClass sender = new MessageTestClass("LINQ Reporting Engine", "Hello World");
using (FileStream streamIn = new FileStream(MyDir + "Report building.docx", FileMode.Open, FileAccess.Read))
{
using (FileStream streamOut = new FileStream(ArtifactsDir + "LowCode.BuildReportDataSourceStream.1.docx", FileMode.Create, FileAccess.ReadWrite))
ReportBuilder.BuildReport(streamIn, streamOut, SaveFormat.Docx, new object[] { sender }, new[] { "s" });
using (FileStream streamOut = new FileStream(ArtifactsDir + "LowCode.BuildReportDataSourceStream.2.docx", FileMode.Create, FileAccess.ReadWrite))
ReportBuilder.BuildReport(streamIn, streamOut, SaveFormat.Docx, sender, "s");
using (FileStream streamOut = new FileStream(ArtifactsDir + "LowCode.BuildReportDataSourceStream.3.docx", FileMode.Create, FileAccess.ReadWrite))
ReportBuilder.BuildReport(streamIn, streamOut, SaveFormat.Docx, sender, "s", new ReportBuilderOptions() { Options = ReportBuildOptions.AllowMissingMembers });
Stream[] images = ReportBuilder.BuildReportToImages(streamIn, new ImageSaveOptions(SaveFormat.Png), new object[] { sender }, new[] { "s" }, new ReportBuilderOptions() { Options = ReportBuildOptions.AllowMissingMembers });
ReportBuilderContext reportBuilderContext = new ReportBuilderContext();
reportBuilderContext.ReportBuilderOptions.MissingMemberMessage = "Missed members";
reportBuilderContext.DataSources.Add(sender, "s");
using (FileStream streamOut = new FileStream(ArtifactsDir + "LowCode.BuildReportDataSourceStream.4.docx", FileMode.Create, FileAccess.ReadWrite))
ReportBuilder.Create(reportBuilderContext)
.From(streamIn)
.To(streamOut, SaveFormat.Docx)
.Execute();
}
展示如何使用数据源填充文档。
public void BuildReportDataSource()
{
// 有几种方法可以用数据源填充文档:
string doc = MyDir + "Report building.docx";
MessageTestClass sender = new MessageTestClass("LINQ Reporting Engine", "Hello World");
ReportBuilder.BuildReport(doc, ArtifactsDir + "LowCode.BuildReportDataSource.1.docx", sender, "s");
ReportBuilder.BuildReport(doc, ArtifactsDir + "LowCode.BuildReportDataSource.2.docx", new object[] { sender }, new[] { "s" });
ReportBuilder.BuildReport(doc, ArtifactsDir + "LowCode.BuildReportDataSource.3.docx", sender, "s", new ReportBuilderOptions() { Options = ReportBuildOptions.AllowMissingMembers });
ReportBuilder.BuildReport(doc, ArtifactsDir + "LowCode.BuildReportDataSource.4.docx", SaveFormat.Docx, sender, "s");
ReportBuilder.BuildReport(doc, ArtifactsDir + "LowCode.BuildReportDataSource.5.docx", SaveFormat.Docx, new object[] { sender }, new[] { "s" });
ReportBuilder.BuildReport(doc, ArtifactsDir + "LowCode.BuildReportDataSource.6.docx", SaveFormat.Docx, sender, "s", new ReportBuilderOptions() { Options = ReportBuildOptions.AllowMissingMembers });
ReportBuilder.BuildReport(doc, ArtifactsDir + "LowCode.BuildReportDataSource.7.docx", SaveFormat.Docx, new object[] { sender }, new[] { "s" }, new ReportBuilderOptions() { Options = ReportBuildOptions.AllowMissingMembers });
ReportBuilder.BuildReport(doc, ArtifactsDir + "LowCode.BuildReportDataSource.8.docx", new object[] { sender }, new[] { "s" }, new ReportBuilderOptions() { Options = ReportBuildOptions.AllowMissingMembers });
Stream[] images = ReportBuilder.BuildReportToImages(doc, new ImageSaveOptions(SaveFormat.Png), new object[] { sender }, new[] { "s" }, new ReportBuilderOptions() { Options = ReportBuildOptions.AllowMissingMembers });
ReportBuilderContext reportBuilderContext = new ReportBuilderContext();
reportBuilderContext.ReportBuilderOptions.MissingMemberMessage = "Missed members";
reportBuilderContext.DataSources.Add(sender, "s");
ReportBuilder.Create(reportBuilderContext)
.From(doc)
.To(ArtifactsDir + "LowCode.BuildReportDataSource.9.docx")
.Execute();
}
public class MessageTestClass
{
public string Name { get; set; }
public string Message { get; set; }
public MessageTestClass(string name, string message)
{
Name = name;
Message = message;
}
}
也可以看看
- class ProcessorContext
- 命名空间 Aspose.Words.LowCode
- 部件 Aspose.Words