public async Task <IActionResult> GetReport() { XDocument doc = XDocument.Load("Reports/ReportV3.mrt"); List <XElement> components = doc.Element("StiSerializer").Elements("Pages").Elements("Page1").Elements("Components") .ToList(); foreach (XElement elem in components) { elem.Element("Text1").Element("Text").Value = "31.12.2020"; elem.Element("Text2").Element("Text").Value = "31.03.2021"; elem.Element("Text3").Element("Text").Value = "01.09.2020*"; elem.Element("Text4").Element("Text").Value = "31.12.2020"; elem.Element("Text5").Element("Text").Value = "31.03.2021**"; elem.Element("Text6").Element("Text").Value = "31.03.2021***"; } doc.Save("Reports/ReportV3.mrt"); StiReport report = new StiReport(); // Загрузит шаблон отчета из папки. report.Load(StiNetCoreHelper.MapPath(this, "Reports/ReportV3.mrt")); // Рендерит отчет. await report.RenderAsync(); // Экспорт в PDF в указанную папку. await report.ExportDocumentAsync(StiExportFormat.Pdf, @"C:\StimulsoftReports\ReportResult.pdf"); return(Ok("Save success")); }
private static async Task Main(string[] args) { using var report = new StiReport(); report.Load(await File.ReadAllBytesAsync(@"ReceiptPD4.mrt")); report.CacheAllData = false; var businessObject = new PD4ReceiptModel { Payment = new Payment { Name = "XXXXXXXXXXXXXXXXXXXXXXXXX123", rub = "123", penny = "123", rubCom = "123", pennyCom = "123", rubTotal = "123", pennyTotal = "123", day = "1", month = "1", year = "2020" }, Payer = new Payer { firstName = "XXXXXXXXXXXXXXXXXXXXXXXXXPayerName1", lastName = "PayerName2", middleName = "qwe", address = "qwe" }, Name = "XXXXXXXXXXXXXXXXXXXXXXXXXqwe", inn = "123123", bankAccount = "123123", bankName = "qwe", bic = "123123", bankCorrAccount = "123123" }; var businessObjects = new[] { businessObject, }; var businessObjectsJson = JsonConvert.SerializeObject(businessObjects, new JsonSerializerSettings { ContractResolver = new DefaultContractResolver(), NullValueHandling = NullValueHandling.Ignore, Formatting = Formatting.Indented, ReferenceLoopHandling = ReferenceLoopHandling.Ignore, }); var businessObjectsJObject = Stimulsoft.Base.Json.Linq.JToken.Parse(businessObjectsJson); report.RegBusinessObject(category: "Receipt", name: "Reciver", alias: "Reciver", value: businessObjectsJObject); await report.Dictionary.SynchronizeAsync(); //report.Dictionary.SynchronizeBusinessObjects(); await report.RenderAsync(new StiRenderState(false)); await report.ExportDocumentAsync(StiExportFormat.Pdf, $@"c:\temp\{Guid.NewGuid().ToString()}.pdf"); }