翻譯|使用教程|編輯:李顯亮|2020-09-02 11:14:53.180|閱讀 730 次
概述:如今,ASP.Net Core在Web開發(fā)的最佳框架排名中占據(jù)較高的位置。在本文中,我們會在ASP.Net Core應用程序中輸出發(fā)票的功能。因此,將使用FastReport.Core庫。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
報表生成器FastReport .NET是適用于.NET Core 3,ASP.NET,MVC和Windows窗體的全功能報告庫。使用FastReport .NET,您可以創(chuàng)建獨立于應用程序的.NET報告。
近日,F(xiàn)astReport .Net升級到v2020.3版,在此版本中,添加了瑞士QR碼,允許配置打印機托盤以打印報告的最后一頁,不再支持.NET Framework 2.0,同時修復了多個Bug問題,感興趣的朋友可點擊下方按鈕下載最新版。
很少有人相信微軟新的開源ASP.Net Core框架的成功。這是因為以前的ASP.Net平臺的普及程度較低。但是,很快每個人都意識到了新的跨平臺框架的優(yōu)勢。如今,ASP.Net Core在Web開發(fā)的最佳框架排名中占據(jù)較高的位置。許多Web應用程序,網(wǎng)站和在線商店都是使用它創(chuàng)建的。出售商品時,在線商店必須向客戶提供一些文檔。例如,付款發(fā)票。
付款發(fā)票是非現(xiàn)金付款經(jīng)常需要的文件之一。因此,如果要創(chuàng)建在線商店或其他銷售系統(tǒng),則必須向客戶提供發(fā)票。
要渲染發(fā)票,首先我們需要開發(fā)一個文檔設計,在其中填充數(shù)據(jù)并發(fā)送給打印。最好的解決方案是使用報告生成器來創(chuàng)建文檔模板并用數(shù)據(jù)填充它。用戶應用程序的任務是顯示所需的報告。
沒有開具發(fā)票的明確要求-只有建議可以幫助避免客戶誤解。展望未來,我們將考慮將在本文中創(chuàng)建的發(fā)票,以便您了解如何處理發(fā)票開具。當然,我們并不是說這個模板是最好的。
此圖突出顯示了文檔的重要區(qū)域。讓我們解釋一下它們的本質(zhì):
因此,FastReport.Net報告生成器作為一組庫來提供。在本文中,我們正在考慮在ASP.Net Core應用程序中輸出發(fā)票的功能。因此,將使用FastReport.Core庫。實際上,我們不需要開具發(fā)票的申請。我們需要的只是報告生成器和數(shù)據(jù)。但是創(chuàng)建文檔的能力對任何人來說都不是很有趣。能夠?qū)蟾嫦到y(tǒng)集成到用戶程序中很重要,這樣報告才能成為單個數(shù)據(jù)處理系統(tǒng)的一部分。因此,首先我們將創(chuàng)建一個報告模板,然后將其用于在Web應用程序中顯示數(shù)據(jù)。
在設計器中創(chuàng)建一個報表。你一定見過很多次付款發(fā)票--這樣的報表模板并不復雜。看看吧。
在本案例中,數(shù)據(jù)取自四個表。訂單、訂單詳情、客戶和產(chǎn)品。
主帶--數(shù)據(jù)--與訂單表相連。這意味著每輸入一個表,就會形成一個新的該帶的實例。 除了右邊的訂單信息,我們還在左邊顯示客戶信息。客戶表通過id與訂單表鏈接。
所以,要提供客戶信息中的數(shù)據(jù)與當前訂單的對應關系,就要從環(huán)節(jié)入手。訂單詳情表與訂單表和產(chǎn)品表的關系相同。
訂單信息顯示在數(shù)據(jù)帶中。它與訂單詳情表有聯(lián)系。在一行中顯示:數(shù)量、產(chǎn)品名稱、單價、指定數(shù)量的價格、稅率和稅額。一個數(shù)據(jù)帶有頁眉和頁腳帶。表頭顯示在表頭欄中,當總計、付款明細和說明信息顯示在頁腳欄中時,表頭顯示在頁腳欄中。
小計是在一個表記錄內(nèi),通過在文本字段中乘以或匯總表字段來計算的:[[小計]*5/100]。或者,使用報告變量。
總計,是根據(jù)列使用特殊表達式--總計來計算的。
每個總計都有設置--操作類型、表字段或表達式、波段(總計的顯示位置)等。
如果數(shù)據(jù)意味著同時渲染幾張發(fā)票,則需要在一個單獨的頁面上渲染每張發(fā)票。為此,你需要在DataBand中包含StartNewPage = True屬性。
這就完成了最困難的部分--報表的創(chuàng)建。現(xiàn)在讓我們進入我們的ASP.Net Core應用程序。您需要使用NuGet將FasReport.Net庫添加到您的項目中。
連接Startup.cs中的FastReport庫。
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { … app.UseFastReport(); … }
現(xiàn)在,您可以將報告生成添加到控制器中:
private IHostingEnvironment _env; public HomeController(IHostingEnvironment env) { _env = env; }
在類中注入IHostingEnvironment接口,得到我們保存報表的wwwroot目錄的路徑。在你需要的方法中創(chuàng)建報表對象,將數(shù)據(jù)和報表模板載入其中。
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()
現(xiàn)在,如果你運行該應用程序,你將在瀏覽器中看到你的報告。
因此,您可以從您的Web應用程序中快速創(chuàng)建付款發(fā)票。請看頂部的工具欄。它包含了報告控件,讓你不僅可以查看報告頁面,還可以將其發(fā)送打印或?qū)С鰹榱餍械奈臋n格式之一。PDF, DOCX, XML, XPS, ODT, TXT, CSV, RTF.
雖然FastReport Open Source是非常強大的,但仍然有許多限制,你可以點擊下方鏈接查看具體差異。
【功能對比】報表開發(fā)工具FastReport Open Source和FastReport .NET都有哪些差異和限制
FastReport Open Source與FastReport .Net間的功能差異還是非常明顯的,如果您是企業(yè)用戶或是需要更完整的功能,建議您直接購買FastReport .Net,盛夏狂歡,在線下單立享85折起!點擊查看優(yōu)惠價格,或咨詢在線客服了解詳情。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn