Class ReportBuilderContext

Class ReportBuilderContext

Namespace: Aspose.Words.LowCode
Assembly: Aspose.Words.dll (25.12.0)

LINQ Reporting Engine context.

public class ReportBuilderContext : ProcessorContext

Inheritance

object ProcessorContext ReportBuilderContext

Inherited Members

ProcessorContext.WarningCallback , ProcessorContext.FontSettings , ProcessorContext.LayoutOptions , object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Examples

Shows how to populate document with data sources using documents from the stream.

// There is a several ways to populate document with data sources using documents from the stream:
                                                                                            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();
                                                                                            }

Shows how to populate document with data sources.

public void BuildReportDataSource()
                                                            {
                                                                // There is a several ways to populate document with data sources:
                                                                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;
                                                                }
                                                            }

Constructors

ReportBuilderContext()

public ReportBuilderContext()

Properties

DataSources

Data sources used to build the report.

public Dictionary<object, string> DataSources { get; }

Property Value

Dictionary < object , string >

Examples

Shows how to populate document with data sources using documents from the stream.

// There is a several ways to populate document with data sources using documents from the stream:
                                                                                            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();
                                                                                            }

Shows how to populate document with data sources.

public void BuildReportDataSource()
                                                            {
                                                                // There is a several ways to populate document with data sources:
                                                                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;
                                                                }
                                                            }

Remarks

The key represents the data source, while the value is the data source name. The data source name can be null or an empty string; in such cases, the reporting engine will automatically detect the data source name from the specified data source.

ReportBuilderOptions

Report build options.

public ReportBuilderOptions ReportBuilderOptions { get; }

Property Value

ReportBuilderOptions

Examples

Shows how to populate document with data sources using documents from the stream.

// There is a several ways to populate document with data sources using documents from the stream:
                                                                                            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();
                                                                                            }

Shows how to populate document with data sources.

public void BuildReportDataSource()
                                                            {
                                                                // There is a several ways to populate document with data sources:
                                                                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;
                                                                }
                                                            }
 English