static void Main(string[] args) { string reportsFolder = FindReportsFolder(); Report report = new Report(); report.Load(Path.Combine(reportsFolder, "Simple List.frx")); DataSet data = new DataSet(); data.ReadXml(Path.Combine(reportsFolder, "nwind.xml")); report.RegisterData(data, "NorthWind"); report.Prepare(); PDFSimpleExport pdfExport = new PDFSimpleExport(); pdfExport.Export(report, "Simple List.pdf"); }
public void export_report_using_expression_pdf() { var report = builder.Report(list) .ReportTitle(title => title .Text("Employee List - [MonthName(Month([Date]))]") .HorzAlign(HorzAlign.Center) ) .Data(data => { data.Column(col => col.FirstName); data.Column(col => col.LastName).Expression("UpperCase({0})"); data.Column(col => col.BirthDate); data.Column(col => col.IsActive); data.Column(col => col.Level); }) .Prepare(); PDFSimpleExport pdfExport = new PDFSimpleExport(); pdfExport.Export(report, "Employees.pdf"); }
public void export_report_using_column_format_pdf() { var report = builder.Report(list) .ReportTitle(title => title .Text("Employee List") .HorzAlign(HorzAlign.Center) ) .Data(data => { data.Column(col => col.FirstName); data.Column(col => col.LastName); data.Column(col => col.BirthDate).Format("MM/dd/yyyy"); data.Column(col => col.IsActive); data.Column(col => col.Level); // this column formatted with data annotation }) .Prepare(); PDFSimpleExport pdfExport = new PDFSimpleExport(); pdfExport.Export(report, "Employees.pdf"); }
public void export_report_resized_columns_by_percentage_pdf() { var report = builder.Report(list) .ReportTitle(title => title .Text("Employee List") .HorzAlign(HorzAlign.Center) ) .Data(data => { data.Column(col => col.FirstName).Width(25); // 25% data.Column(col => col.LastName).Width(20); // 20% data.Column(col => col.BirthDate); // other three columns are equal - (55/3)% data.Column(col => col.IsActive); data.Column(col => col.Level); }) .Prepare(); PDFSimpleExport pdfExport = new PDFSimpleExport(); pdfExport.Export(report, "Employees.pdf"); }
public void export_basic_report_pdf() { var report = builder.Report(list) .ReportTitle(title => title .Text("Employee List") .HorzAlign(HorzAlign.Center) ) .Data(data => { data.Column(col => col.FirstName); // this column get title with data annotation data.Column(col => col.LastName).Title("Last Name"); data.Column(col => col.BirthDate); data.Column(col => col.IsActive); data.Column(col => col.Level); }) .Prepare(); PDFSimpleExport pdfExport = new PDFSimpleExport(); pdfExport.Export(report, "Employees.pdf"); }
/// <summary> /// 用 FastReport return the PDF in byte array /// </summary> /// <param name="fromCode"></param> /// <param name="toCode"></param> /// <param name="fromDate"></param> /// <param name="toDate"></param> /// <returns></returns> public static byte[] PDF(string fromCode, string toCode, string fromDate, string toDate) { byte[] result = null; var sql = string.Format(_Sql, fromDate, toDate, fromCode, toCode); //! 提供一個 data connection object (依家用 MsSql) FastReport.Utils.RegisteredObjects.AddConnection(typeof(FastReport.Data.MsSqlDataConnection)); using (MemoryStream stream = new MemoryStream()) //Create the stream for the report { try { Config.WebMode = true; using (Report report = new Report()) { report.Load(ReportFilePath); #region populate data source //! 首先,取消 designer 用緊嘅 Connection report.Dictionary.Connections.Clear(); //! 再準備 custom 嘅 data source DataSet ds = new DataSet(); ds = SqlHelper.Default.ExecuteDataSet(CommandType.Text, sql); //! 替代 design time 嘅設定 string desingTimeDataSourceAlias = "Table", desingTimeDataBandName = "Data1"; report.Dictionary.Report.RegisterData(ds, desingTimeDataSourceAlias, true); ((DataBand)report.Report.FindObject(desingTimeDataBandName)).DataSource = report.GetDataSource(desingTimeDataSourceAlias); report.GetDataSource(desingTimeDataSourceAlias).Enabled = true; //! DataSource 已經 sorted,不過 DataBand 會亂來,除非你喺 designer 設定咗 DataBand 個 Sort //! 我選擇喺 code 度搞 ((DataBand)report.Report.FindObject(desingTimeDataBandName)).Sort.AddRange(new Sort[] { new Sort(string.Format("[{0}.TxDate]", desingTimeDataSourceAlias), false), new Sort(string.Format("[{0}.TxType]", desingTimeDataSourceAlias), false), new Sort(string.Format("[{0}.TxNumber]", desingTimeDataSourceAlias), false) }); #endregion #region render 個 report 前作最後處理 ((TextObject)report.Report.FindObject("lblReportTitle")).Text = WestwindHelper.GetWord("report.SA1330", "Setting"); ((TextObject)report.Report.FindObject("txtPageNofM")).Text = string.Format(WestwindHelper.GetWord("reports.pageNofM", "General"), "[Page]", "[TotalPages]"); report.SetParameterValue("pCompanyName", WestwindHelper.GetWord("companyInfo.name", "Setting")); // SystemInfoEx.CurrentInfo.Default.CompanyName); ((TextObject)report.Report.FindObject("lblSelectedRange")).Text = WestwindHelper.GetWordWithColon("reports.selectedRange", "General"); ((TextObject)report.Report.FindObject("lblSelectedStockCode")).Text = WestwindHelper.GetWordWithColon("article.code", "Product"); ((TextObject)report.Report.FindObject("lblSelectedDate")).Text = WestwindHelper.GetWordWithColon("transaction.date", "Transaction"); report.SetParameterValue("pSelectedStockCode", string.Format("{0} ⇔ {1}", fromCode, toCode)); report.SetParameterValue("pSelectedDate", string.Format("{0} ⇔ {1}", fromDate, toDate)); ((TextObject)report.Report.FindObject("lblPrintedOn")).Text = WestwindHelper.GetWordWithColon("reports.printedOn", "General"); ((TextObject)report.Report.FindObject("lblPage")).Text = WestwindHelper.GetWordWithColon("reports.page", "General"); ((TextObject)report.Report.FindObject("lblStockCode")).Text = WestwindHelper.GetWordWithColon("article.code", "Product"); ((TextObject)report.Report.FindObject("lblAppendix1")).Text = WestwindHelper.GetWordWithColon("appendix.appendix1", "Product"); ((TextObject)report.Report.FindObject("lblAppendix2")).Text = WestwindHelper.GetWordWithColon("appendix.appendix2", "Product"); ((TextObject)report.Report.FindObject("lblAppendix3")).Text = WestwindHelper.GetWordWithColon("appendix.appendix3", "Product"); ((TextObject)report.Report.FindObject("lblClass1")).Text = WestwindHelper.GetWordWithColon("class.class1", "Product"); ((TextObject)report.Report.FindObject("lblClass2")).Text = WestwindHelper.GetWordWithColon("class.class2", "Product"); ((TextObject)report.Report.FindObject("lblClass3")).Text = WestwindHelper.GetWordWithColon("class.class3", "Product"); ((TextObject)report.Report.FindObject("lblClass4")).Text = WestwindHelper.GetWordWithColon("class.class4", "Product"); ((TextObject)report.Report.FindObject("lblClass5")).Text = WestwindHelper.GetWordWithColon("class.class5", "Product"); ((TextObject)report.Report.FindObject("lblClass6")).Text = WestwindHelper.GetWordWithColon("class.class6", "Product"); ((TextObject)report.Report.FindObject("lblBFQty")).Text = WestwindHelper.GetWordWithColon("inventory.bfQty", "Product"); ((TextObject)report.Report.FindObject("lblBFAmount")).Text = WestwindHelper.GetWordWithColon("inventory.bfAmount", "Product"); ((TextObject)report.Report.FindObject("lblCDQty")).Text = WestwindHelper.GetWordWithColon("inventory.cdQty", "Product"); ((TextObject)report.Report.FindObject("lblCDAmount")).Text = WestwindHelper.GetWordWithColon("inventory.cdAmount", "Product"); ((TextObject)report.Report.FindObject("lblTxDate")).Text = WestwindHelper.GetWord("transaction.date", "Transaction"); ((TextObject)report.Report.FindObject("lblTxType")).Text = WestwindHelper.GetWord("transaction.type", "Transaction"); ((TextObject)report.Report.FindObject("lblQtyIn")).Text = WestwindHelper.GetWord("transaction.qtyIn", "Transaction"); ((TextObject)report.Report.FindObject("lblQtyOut")).Text = WestwindHelper.GetWord("transaction.qtyOut", "Transaction"); ((TextObject)report.Report.FindObject("lblPrice")).Text = WestwindHelper.GetWord("transaction.price", "Transaction"); ((TextObject)report.Report.FindObject("lblCost")).Text = WestwindHelper.GetWord("transaction.cost", "Transaction"); ((TextObject)report.Report.FindObject("lblTxNumber")).Text = WestwindHelper.GetWord("transaction.number", "Transaction"); ((TextObject)report.Report.FindObject("lblReference")).Text = WestwindHelper.GetWord("transaction.reference", "Transaction"); ((TextObject)report.Report.FindObject("lblLocation")).Text = WestwindHelper.GetWord("workplace", "Model"); ((TextObject)report.Report.FindObject("lblSupplierCode")).Text = WestwindHelper.GetWord("supplier", "Model"); ((TextObject)report.Report.FindObject("lblRemarks")).Text = WestwindHelper.GetWord("transaction.remarks", "Transaction"); ((TextObject)report.Report.FindObject("lblSubTotal")).Text = WestwindHelper.GetWordWithColon("transaction.subtotal", "Transaction"); #endregion report.Prepare(); //Prepare the report #region export as PDF var pdf = new PDFSimpleExport(); pdf.Export(report, stream); // debug: write to a file //pdf.Export(report, string.Format("C:\\Temp\\{0}.pdf", ReportFileName)); stream.Position = 0; result = stream.ToArray(); #endregion stream.Flush(); } } catch (Exception ex) { // } finally { stream.Dispose(); } } return(result); }