public ReportResult ProductReport() { var query = DoddleProductRepository.GetAllExpando(); var report = new Report(query.ToReportSource()); return(new ReportResult(report)); }
// // Try the following sample URLs: // // http://localhost:X/doddle/ProductReport.html // http://localhost:X/doddle/ProductReport.txt // http://localhost:X/doddle/ProductReport.xls // http://localhost:X/doddle/ProductReport.xlsx (Requires DoddleReport.OpenXml) // http://localhost:X/doddle/ProductReport.pdf (Requires DoddleReport.iTextSharp or DoddleReport.AbcPdf) // public ReportResult ProductReport() { // Get the data for the report (any IEnumerable will work) var query = DoddleProductRepository.GetAll(); var totalProducts = query.Count; var totalOrders = query.Sum(p => p.OrderCount); // Create the report and turn our query into a ReportSource var report = new Report(query.ToReportSource()); // Customize the Text Fields report.TextFields.Title = "Products Report"; report.TextFields.SubTitle = "This is a sample report showing how Doddle Report works"; report.TextFields.Footer = "Copyright 2011 (c) The Doddle Project"; report.TextFields.Header = string.Format(@" Report Generated: {0} Total Products: {1} Total Orders: {2} Total Sales: {3:c}", DateTime.Now, totalProducts, totalOrders, totalProducts * totalOrders); // Render hints allow you to pass additional hints to the reports as they are being rendered report.RenderHints.BooleanCheckboxes = true; report.RenderHints.BooleansAsYesNo = true; report.RenderHints.FreezeRows = 9; report.RenderHints.FreezeColumns = 2; // Some writers (like PDF) support Orientation and page sizing //report.RenderHints.Orientation = ReportOrientation.Landscape; //report.RenderHints.PageSize = new SizeF(8.5f * 72f, 14f * 72f); //US Legal paper size //report.RenderHints.PageSize = new SizeF(595.28f, 841.89f); //A4 paper size //report.RenderHints.PageSize = new SizeF(842f, 1191f); //A3 paper size // Customize the data fields report.DataFields["Id"].Hidden = true; report.DataFields["Price"].DataFormatString = "{0:c}"; report.DataFields["Price"].ShowTotals = true; report.DataFields["LastPurchase"].DataFormatString = "{0:d}"; // Assign a delegate to generate a string that will be used as the href attribute // for a link in the given field, specific to the dataitem for that row. // Some literal or constant is necessary for the root url if you want Excel // navigable links in any writer that doesn't render in the context of the // given web project (e.g. excel or pdf) // ReSharper disable Mvc.ActionNotResolved // ReSharper disable Mvc.ControllerNotResolved report.DataFields["Name"].Url <Product>(p => Url.Action("Index", "Products", new { p.Id }, "http")); // ReSharper restore Mvc.ControllerNotResolved // ReSharper restore Mvc.ActionNotResolved // Advanced customized on a row-by-row basis report.RenderingRow += report_RenderingRow; // Return the ReportResult // the type of report that is rendered will be determined by the extension in the URL (.pdf, .xls, .html, etc) return(new ReportResult(report)); }
private void button1_Click(object sender, System.EventArgs e) { var query = DoddleProductRepository.GetAll(); var totalProducts = query.Count; var totalOrders = query.Sum(p => p.OrderCount); // Create the report and turn our query into a ReportSource var report = new Report(query.ToReportSource(), new DoddleReport.OpenXml.ExcelReportWriter()); // Customize the Text Fields report.TextFields.Title = "Products Report"; report.TextFields.SubTitle = "This is a sample report showing how Doddle Report works"; report.TextFields.Footer = "Copyright 2011 © The Doddle Project"; report.TextFields.Header = string.Format(@" Report Generated: {0} Total Products: {1} Total Orders: {2} Total Sales: {3:c}", DateTime.Now, totalProducts, totalOrders, totalProducts * totalOrders); // Render hints allow you to pass additional hints to the reports as they are being rendered report.RenderHints.BooleanCheckboxes = true; // Customize the data fields report.DataFields["Id"].Hidden = true; report.DataFields["Price"].DataFormatString = "{0:c}"; report.DataFields["LastPurchase"].DataFormatString = "{0:d}"; using (var stream = File.Create("Report.xlsx")) { report.WriteReport(stream); } Process.Start("Report.xlsx"); }
public ReportResult ProductReportObjectExpando() { IEnumerable <object> query = DoddleProductRepository.GetAllExpando(); var report = new Report(query.ToReportSource()); return(new ReportResult(report)); }
public ReportResult WithoutExtension() { var query = DoddleProductRepository.GetAll(); var report = new Report(query.ToReportSource()); return(new ReportResult(report) { FileName = "CustomName" }); }
public ReportResult WithExtensionAndWriter() { var query = DoddleProductRepository.GetAll(); var report = new Report(query.ToReportSource()); return(new ReportResult(report, new DelimitedTextReportWriter()) { FileName = "CustomName.txt" }); }
public ReportResult CustomHtmlStyle() { var query = DoddleProductRepository.GetAll(); var report = new Report(query.ToReportSource()); //report.RenderHints["HtmlStyle"] = @".htmlReport th { font-size: 40px !important; }"; foreach (var dataField in report.DataFields) { dataField.HeaderStyle.FontSize = 13; } return(new ReportResult(report)); }
public static Report GetProductReport() { // Get the data for the report (any IEnumerable will work) var query = DoddleProductRepository.GetAll(); var totalProducts = query.Count; var totalOrders = query.Sum(p => p.OrderCount); // Create the report and turn our query into a ReportSource var report = new Report(query.ToReportSource()); // Customize the Text Fields report.TextFields.Title = "Products Report"; report.TextFields.SubTitle = "This is a sample report showing how Doddle Report works"; report.TextFields.Footer = "Copyright 2011 (c) The Doddle Project"; report.TextFields.Header = string.Format(@" Report Generated: {0} Total Products: {1} Total Orders: {2} Total Sales: {3:c}", DateTime.Now, totalProducts, totalOrders, totalProducts * totalOrders); // Render hints allow you to pass additional hints to the reports as they are being rendered report.RenderHints.BooleanCheckboxes = true; report.RenderHints.BooleansAsYesNo = true; //report.RenderHints.Orientation = ReportOrientation.Landscape; // Customize the data fields report.DataFields["Id"].Hidden = true; report.DataFields["Price"].DataFormatString = "{0:c}"; report.DataFields["Price"].ShowTotals = true; report.DataFields["LastPurchase"].DataFormatString = "{0:d}"; return(report); }