private void PrintActs() { if (RequestList.Count == 0) { MessageBox.Show("Нельзя экспортировать пустой список!", "Ошибка"); return; } try { var saveDialog = new SaveFileDialog(); saveDialog.AddExtension = true; saveDialog.DefaultExt = ".doc"; saveDialog.Filter = "Word файл|*.doc"; if (saveDialog.ShowDialog() == true) { var fileName = saveDialog.FileName; if (fileName.EndsWith(".doc")) { var stiReport = new StiReport(); stiReport.Load("templates\\act.mrt"); var requestsDto = RequestList.Select(x => new { RequestNumber = x.Id, Address = x.FullAddress, ClientName = x.MainFio, ClientPhones = x.ContactPhones, ParentService = x.ParentService, Service = x.Service, }).ToArray(); StiOptions.Engine.HideRenderingProgress = true; //StiOptions.Engine.HideExceptions = true; StiOptions.Engine.HideMessages = true; stiReport.RegBusinessObject("", "Acts", requestsDto); stiReport.Render(); var reportStream = new MemoryStream(); stiReport.ExportDocument(StiExportFormat.Rtf, reportStream); //stiReport.ExportDocument(StiExportFormat.Pdf, reportStream); reportStream.Position = 0; File.WriteAllBytes(fileName, reportStream.GetBuffer()); MessageBox.Show("Данные сохранены в файл\r\n" + fileName); } } } catch (Exception exc) { MessageBox.Show("Произошла ошибка:\r\n" + exc.Message); } }