using Newtonsoft.Json; using Stimulsoft.Report; using Stimulsoft.Report.Dictionary; using System; using System.Collections.Generic; using System.IO; using System.Linq; namespace TestStimulSoftProject { public class DtoTestData { public int Ident { get; set; } public string ParamName { get; set; } public int value { get; set; } } class Program { static string CreateDataFile() { var FileName = Path.ChangeExtension(Path.GetRandomFileName(), ".json"); var DataList = new List(); var random = new Random(); for (var i = 0; i < 5; i++) { DataList.Add(new DtoTestData() { Ident = i, ParamName = $"Param #{i}", value = random.Next(0, 100) }); } var json = JsonConvert.SerializeObject(DataList); File.WriteAllText(FileName, json); return FileName; } static void Main(string[] args) { CreateReport(1); CreateReport(2); CreateReport(3); CreateReport(4); } private static void CreateReport(int v) { Stimulsoft.Base.StiLicense.Key = "enter key here"; var dataFile = CreateDataFile(); using (var report = new StiReport()) { report.Load("Report.mrt"); var dataSource = (StiJsonDatabase)report.Dictionary.Databases.Items.FirstOrDefault(x => x.Name.Equals("JSONData")); dataSource.PathData = dataFile; report.Compile(); report.Render(); report.ExportDocument(StiExportFormat.ImageJpeg, $"report_{v}.jpeg"); } } } }