public Stream GetExcelStream(JournalExportEventArgs args) { string docLocation = string.Empty; if (args.ViewJournalUrl != null && args.ViewJournalUrl.Length > 0) { docLocation = args.ViewJournalUrl.ToString(); var startIndex = docLocation.IndexOf("?", StringComparison.Ordinal); var pluginName = startIndex > -1 ? docLocation.Substring(0, startIndex) : docLocation; DBDataContext.AddViewReports( User.GetSID(), HttpContext.Current.User.Identity.Name, HttpContext.Current.User.Identity.Name, docLocation, HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority), Environment.MachineName, true, pluginName, LocalizationHelper.IsCultureKZ ? null : args.Header, LocalizationHelper.IsCultureKZ ? args.Header : null); } var export = new ExporterXslxByArgs(); var stream = export.GetExcel(args); if (args.ExportLog != 0) { args.LogMonitor.Log( args.ExportLog, () => { var message = new StringBuilder(); message.Append(args.Header); if (args.FilterValues != null) { message.Append("; Фильтры: \r\n"); foreach (var value in args.FilterValues) { message.Append(value); message.Append(";\r\n"); } } message.AddHyperLink(docLocation, Resources.SViewJournal, string.Empty); return(new LogMessageEntry(User.GetSID(), args.ExportLog, message.ToString())); }); } return(stream); }
public ExportResultArgs GetExcelResult(JournalExportEventArgs args) { try { var export = new ExporterXslxByArgs(); var stream = export.GetExcel(args); if (args.ExportLog != 0) { args.LogMonitor.Log( args.ExportLog, () => { var message = new StringBuilder(); message.Append(args.Header); if (args.FilterValues != null) { message.Append("; Фильтры: \r\n"); foreach (var value in args.FilterValues) { message.Append(value); message.Append(";\r\n"); } } return(new LogMessageEntry(User.GetSID(), args.ExportLog, message.ToString())); }); } return(new ExportResultArgs { Stream = stream }); } catch (Exception e) { return(new ExportResultArgs { Exception = e, ErrorMessage = e.ToString() }); } }
public void ExportDataToXlsx(DataTable table, string reportName) { var exporter = new ExporterXslxByArgs(); var logMonitor = InitializerSection.GetSection().LogMonitor; logMonitor.Init(); exporter.LogMonitor = logMonitor; var args = new JournalExportEventArgs { Header = reportName, CheckPermit = false, Columns = GetColumns(table), Data = table.Rows, FilterValues = new List <string>(), FixedRowsCount = 3, }; using (var stream = exporter.GetExcel(args)) { PageHelper.DownloadFile(stream, reportName + ".xlsx", HttpContext.Current.Response); } }