FastReport資訊:Blazor中的報告和PDF文件
FastReport .Net是適用於Windows Forms,ASP.NET,MVC和.NET Core的全功能報表解決方案。它可以在Microsoft Visual Studio 2005-2019中使用。支援.Net Framework 2.0-4.x,.NET Core 3.0及以上版本。
【慧都網】免費下載FastReport .Net最新試用版
在FastReport .NET 2021.1的新版本中,我們實現了對.NET 5的支援。新增了新條形碼-Deutsce Post Leitcode。將RTF轉換為報告物件的演算法已得到顯著改進。並且還新增了用於轉換數字的新功能。歡迎下載體驗。(點選下方按鈕下載)
微軟最近啟動了一個名為Blazor的Web平臺。該框架允許使用C#語言以及HTML和CSS建立互動式Web介面。Blazor的需求量很高,並且在許多.NET開發人員中迅速流行。我們已經啟動了FastReport.Web.Blazor軟體包,其中包含用於在基於Blazor Server 技術的Web應用程式中處理報表的元件。該軟體包現在處於測試版狀態,並將逐步開發。
下面我們描述基於Blazor Server技術的簡單Web應用程式的建立。您可以在GitHub的我的個人資料中下載此演示專案。
首先,我們建立新專案。我們將使用適用於Blazor Server的模板。您可以使用Visual Studio(適用於Windows和macOS)或.NET CLI建立專案。在這兩種情況下,我們都需要.NET Core SDK(.NET SDK)3.1版或更高版本,可以從Microsoft官方網站下載。
Visual Studio 2019:
對於.NET CLI,我們在控制檯(終端)中鍵入以下命令:
dotnet new blazorserver
我們看到以下專案結構:
為了簡化專案,我們從建立的模板中刪除一些不必要的檔案:
- the whole Data folder
- Pages\Counter.razor
- Pages\FetchData.razor
- Shared\SurveyPrompt.razor
我們將一個名為“ Reports”的新資料夾新增到我們的專案資料夾中,並將所有必要的報告放入其中。為了演示,我新增了一些簡單的報表,這些報表在安裝FastReport降級版本時會應用:簡單列表,複雜(主-細節+組),子報表,條形碼和圖表。另外,對於這些報告,我們需要xml-nwind.xml格式的資料庫;我們將其放在同一資料夾中。
另外,有必要將Reports資料夾的內容複製到輸出資料夾中。為此,我們在Visual Studio中選擇相關檔案,然後在“屬性”中選擇“如果更新則複製”。
如果沒有Visual Studio,則可以在專案檔案(.csproj)中手動指示此屬性:
<ItemGroup> <None Update="Reports\*.*"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> </ItemGroup>
然後,我們必須將FastReport.Core和FastReport.Web.Blazor包新增到我們的專案中。也可以透過Visual Studio或.NET CLI來完成。讓我們考慮這兩種變體。
要將包新增到Visual Studio,請在我們的專案檔案(csproj)上單擊滑鼠右鍵。上下文選單開啟;選擇“管理NuGet軟體包”。搜尋兩個必需的程式包。請注意,勾選“包括預發行版本”必須處於活動狀態。
要透過.NET CLI新增軟體包,請鍵入以下命令:
dotnet add package FastReport.Core --prerelease dotnet add package FastReport.Web.Blazor --prerelease
然後,我們應該將FastReport.Core和FastReport.Web.Blazor使用的名稱空間新增到用於Razor的檔案名稱空間列表中。為此,透過新增幾行來編輯_Imports.razor檔案:
@using FastReport @using FastReport.Web.Blazor @using FastReport.Web.Blazor.Components
在我們的應用程式配置中註冊FastReport。為此,請開啟Startup.cs檔案,並在Configure方法的末尾新增以下行:
app.UseFastReport();
在Pages \ _Host.cshtml檔案中,將第一行替換為以下內容:
@page "/{ReportName}"
為了使URL能夠包含我們要開啟的報告的名稱,這是必需的。
然後,我們編輯導航選單Shared \ NavMenu.razor以對映Reports資料夾中的所有可用報告,並在它們之間進行切換。
@using System.IO <div class="top-row pl-4 navbar navbar-dark"> <a class="navbar-brand" href="">DemoBlazor</a> </div> <div> <ul class="nav flex-column"> @foreach (string report in reports) { <li class="nav-item px-2"> <NavLink class="nav-link" href="@report"> @Path.GetFileNameWithoutExtension(report) </NavLink> </li> } </ul> </div> @code { // List of reports in folder private string[] reports = Directory.GetFiles( Path.Combine( Directory.GetCurrentDirectory(), "Reports")) .Where((filename) => Path.GetExtension(filename) == ".frx") .Select((filename) => Path.GetFileName(filename)) .ToArray(); }
現在我們進入主要階段。編輯Pages \ Index.razor檔案以使用FastReport.Web.Blazor庫的主要元件WebReportContainer對映報表。輸入以下內容:
@page "/" @page "/{ReportName}" <WebReportContainer WebReport="@MyWebReport" /> @code { [Parameter] public string ReportName { get; set; } public WebReport MyWebReport { get; set; } }
我們新增了WebReportContainer元件,併為其賦予了一個屬性-WebReport類的物件。
讓我們建立另一個具有類似名稱的檔案– Pages \ Index.razor檔案旁邊的Index.razor.cs並在其中寫入一個簡單的邏輯:
using System.IO; using System.Data; using FastReport; using FastReport.Web.Blazor; namespace DemoBlazor.Pages { public partial class Index { const string DEFAULT_REPORT = "Simple List.frx"; readonly string directory; DataSet DataSet { get; } protected override void OnParametersSet() { base.OnParametersSet(); var report = Report.FromFile( Path.Combine( directory, string.IsNullOrEmpty(ReportName) ? DEFAULT_REPORT : ReportName)); // Registers the user dataset report.RegisterData(DataSet, "NorthWind"); // Create new WebReport object MyWebReport = new WebReport { Report = report, }; } public Index() { directory = Path.Combine( Directory.GetCurrentDirectory(), Path.Combine("Reports")); DataSet = new DataSet(); DataSet.ReadXml(Path.Combine(directory, "nwind.xml")); } } }
該邏輯負責註冊資料,建立WebReport物件,為其分配必要的引數,包括我們從常量行中的報告名稱下載或預設使用的,由常量DEFAULT_REPORT定義的報告。
在對樣式和格式進行了其餘的少量操作之後,我們得到了一個Web應用程式,該應用程式可以處理報告,並提供了建立各種格式(PDF,Excel,Word和Open Office)文件的機會。
相關連結:
-文件(en):https : // (en) .pdf
-線上演示:
-NuGet程式包:https : //
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69995027/viewspace-2767039/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何將報表與Lazarus中FastReport的資料連線?AST
- Blazor元件自做十二 : Blazor Pdf Reader PDF閱讀器 元件Blazor元件
- Blazor Pdf Reader PDF閱讀器 元件 更新Blazor元件
- FastReport VCL如何從程式碼訪問報告物件AST物件
- FastReport 如何透過程式碼建立報告表單AST
- C#中PDF文件操作類C#
- 中國高階旅遊人群洞察報告.pdf
- fastreport .net列印普通報表AST
- FastReport報表生成器有關COM / ActiveX快速報告常見問題AST
- PDF的資訊提取的問題
- Java 生成 PDF 文件Java
- 提取pdf文件的目錄1.0
- IAS:2021年推文趨勢和資訊流廣告研究報告
- PDF Expert 2.5.16 中文版-實用的 PDF 文件工具
- PDF文件壓縮工具:Cisdem PDF Compressor for MacMac
- PDF文件搜尋工具:PDF Search Mac版Mac
- java-pdf-itext7、itextpdf 生成pdf 文件Java
- Laravel 生成 PDF 文件 - tcpdfLaravelTCP
- Acrobat Pro DC 教程:如何刪除PDF 中的隱私資訊?BAT
- KISDI:2018年韓國資訊和通訊技術(ICT)行業報告行業
- Master PDF Editor for Mac PDF文件編輯軟體ASTMac
- PDF文件轉換器PDF to Word Document Converter MacMac
- 國家資訊中心:2020中國共享住宿發展報告
- 國家資訊中心:2019中國共享住宿發展報告
- Java 將Markdown檔案轉換為Word和PDF文件Java
- java生成簡易pdf文件Java
- pdf轉換成word文件
- C# 將PDF文件轉換為Markdown文件C#
- Blazor中的CSS隔離BlazorCSS
- C# 在PDF文件中應用多種不同字型C#
- ComPDFKit - 專業的PDF文件處理SDK
- K12線上教育行業廣告策略使用者調研報告-騰訊.pdf行業
- 國家資訊中心:2019中國移動支付發展報告
- 國家資訊中心:中國共享經濟發展報告(2023)
- 報表工具教程:資料帶中的圖表報告
- Blazor 部署 pdf.js 不能正確顯示中文資源解決辦法BlazorJS
- Python 將Word/ Exce/ PDF/ PPT文件轉為OFD文件Python
- .NET 工具庫高效生成 PDF 文件