付款发票是非现金付款经常需要的文件之一。因此,如果要创建在线商店或其他销售系统,则必须向客户提供发票。只有开具了发票才有能够避免许多售后不必要的麻烦。
要渲染发票,首先我们需要开发一个文档设计,在其中填充数据并发送给打印。最好的解决方案是使用报告生成器来创建文档模板并用数据填充它。用户应用程序的任务是显示所需的报告。
在本文中,提供了一个发票模板来作为优质案例,当然,并不是说这个模板是最好的。

此图突出显示了文档的重要区域。解释一下它们的本质:
有关卖方的信息。任何正式文件都应包含有关卖方的信息:姓名,地址,电话,电子邮件,其他信息(可选);有关买方联系人的信息–必须指出实际负责付款的人;订单和发票标识符,发票开具和到期日。这些标识符将有助于在数据库中查找发票或订单,以防客户以后有任何疑问。有关订单内容的信息。您的客户必须了解他所支付的费用。必须指定货物的名称和数量,以及每单位的成本;总量。总金额不仅对于付款是必要的,而且对于理解计算也是必要的;付款详情。由于这是付款发票,因此应包含收款人详细信息;国外付款的银行详细信息。即使在这种情况下,客户不是来自国外,您也可以将这些数据保留为统一的格式。解释性信息。如有疑问,提供联系方式很重要。您还应该警告延迟付款的后果。这将使客户不耽误它。因此,FastReport.Net报告生成器可作为一组库来提供。因此,将使用FastReport.Core库。实际上,不需要开具发票的申请。需要的只是报告生成器和数据。但是创建文档的能力对任何人来说都不是很容易,能够将报告系统集成到用户程序中很重要,这样报告才能成为单个数据处理系统的一部分。因此,首先将创建一个报告模板,然后将其用于在Web应用程序中显示数据。
在设计器中创建一个报表。你一定见过很多次付款发票,这样的报表模板并不复杂。
在本案例中,数据取自四个表。订单、订单详情、客户和产品。
主带--数据--与订单表相连。这意味着每输入一个表,就会形成一个新的该带的实例。 除了右边的订单信息,还在左边显示客户信息。客户表通过id与订单表链接。
所以,要提供客户信息中的数据与当前订单的对应关系,就要从环节入手。订单详情表与订单表和产品表的关系相同。
订单信息显示在数据带中。它与订单详情表有联系。在一行中显示:数量、产品名称、单价、指定数量的价格、税率和税额。一个数据带有页眉和页脚带。表头显示在表头栏中,当总计、付款明细和说明信息显示在页脚栏中时,表头显示在页脚栏中。
小计是在一个表记录内,通过在文本字段中乘以或汇总表字段来计算的:[[小计]5/100]。或者,使用报告变量。
总计,是根据列使用特殊表达式--总计来计算的。
每个总计都有设置--操作类型、表字段或表达式、波段(总计的显示位置)等。
如果数据意味着同时渲染几张发票,则需要在一个单独的页面上渲染每张发票。为此,你需要在DataBand中包含StartNewPage = True属性。
这就完成了最困难的部分--报表的创建。现在让我们进入我们的ASP.Net Core应用程序。您需要使用NuGet将FasReport.Net库添加到您的项目中。
连接Startup.cs中的FastReport库。
public void Configure(IApplicationBuilder app, IHostingEnvironment env) {…app.UseFastReport();…}
现在,可以将报告生成添加到控制器中:
private IHostingEnvironment _env; public HomeController(IHostingEnvironment env) { _env = env; }
在类中注入IHostingEnvironment接口,得到我们保存报表的wwwroot目录的路径。在你需要的方法中创建报表对象,将数据和报表模板载入其中。
public IActionResult Index() { var rootpath = _env.WebRootPath; var report = new WebReport(); var data = new DataSet(); data.ReadXml(rootpath + "/App_Data/nwind.xml"); report.Report.Load(rootpath + "/App_Data/Invoice.frx"); report.Report.RegisterData(data); ViewBag.WebReport = report; return View(); }
将报告渲染添加到索引视图中。
@await ViewBag.WebReport.Render()
现在,如果你运行该应用程序,你将在浏览器中看到你的报告。
因此,可以从您的Web应用程序中快速创建付款发票。请看顶部的工具栏。它包含了报告控件,让你不仅可以查看报告页面,还可以将其发送打印或导出为流行的文档格式之一。PDF, DOCX, XML, XPS, ODT, TXT, CSV, RTF.
点击下方“了解更多”获取更多Fastreport报表生成器资讯