public void GenerateExcelReport() { using (var fs = new StreamWriter(this._saveFilepath)) { var writer = new DoddleReport.OpenXml.ExcelReportWriter(); writer.WriteReport(this._report, fs.BaseStream); } }
private void btnExport_Click(object sender, EventArgs e) { using (var sfd = new SaveFileDialog()) { if (!String.IsNullOrEmpty(cbInstances.Text)) { sfd.Filter = "Excel File|*.xlsx|PDF|*.pdf"; if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { var trace = auditConfig.Traces.First((t) => t.Instance.DataSource == cbInstances.Text); var context = new TraceContext(trace, (new ITraceObserver[] { }).ToList()); var columns = new List <int>(); trace.Events.ForEach((evt) => evt.Columns.ToList().ForEach((c) => { if (!columns.Contains(c)) { columns.Add(c); } })); var ds = fetchData(context, columns); IReportWriter writer; if (sfd.FileName.EndsWith(".pdf")) { writer = new DoddleReport.iTextSharp.PdfReportWriter(); } else { writer = new DoddleReport.OpenXml.ExcelReportWriter(); } Export(context, ds, writer, sfd.FileName); if (MetroMessageBox.Show(this, "Open file?", "Open File", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { Process.Start(sfd.FileName); } } } } }
internal ReportResult Summary(PurseSeineTrip trip) { // Empty spreadsheet if (null == trip || null == trip.SeaDays || 0 == trip.SeaDays.Count) return new ReportResult(new Report()); var activities = from d in trip.SeaDays from a in d.Activities select new ActivityLogLineItem { ShipsTime = a.LocalTime.Value, Latitude = a.Latitude, Longitude = a.Longitude, Activity = a.ActivityType.HasValue ? a.ActivityType.Value.ToString() : String.Empty, WindDirection = a.WindDirection, WindSpeed = a.WindSpeed, SeaCode = a.SeaCode.HasValue ? a.SeaCode.Value.ToString() : String.Empty, Comments = a.Comments }; var sets = from fset in trip.FishingSets select new SetLogLineItem { SetNumber = fset.SetNumber, VesselLogDate = fset.Activity.LocalTime.Value, SkiffOff = fset.SkiffOff, WinchOn = fset.WinchOn, RingsUp = fset.RingsUp, BrailStart = fset.BeginBrailing, BrailEnd = fset.EndBrailing, EndOfSet = fset.EndOfSet, SumOfBrails = Sum(fset.SumOfBrail1, fset.SumOfBrail2), // Regular addition operator doesn't work as expected TotalCatch = fset.TotalCatch }; // From here (see jshannon99 response of 9 November) // http://doddlereport.codeplex.com/discussions/283107 var writer = new DoddleReport.OpenXml.ExcelReportWriter(); var activityReport = new Report(activities.ToReportSource(), writer); var setReport = new Report(sets.ToReportSource(), writer); // Set up some labels activityReport.TextFields.Title = trip.ToString(); activityReport.RenderHints["SheetName"] = "Activity Log"; setReport.RenderHints["SheetName"] = "Set Log"; // TODO: Consider adding confidentiality footers to the report activityReport.AppendReport(setReport); return new ReportResult(activityReport, writer); }