日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET Core2调用Azure云上的PowerBI报表展示

發布時間:2025/7/14 asp.net 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET Core2调用Azure云上的PowerBI报表展示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在開發企業應用中,報表功能是當之無愧的重頭戲,如何將數據通過合適的報表呈現出來成為每個項目人員必需面臨的問題。而找到一款合適的報表往往都需要考率價格、開發、風格、支撐等因素。那么,我在這里給大家介紹一款由微軟提供的可視化報表工具Power BI,并通過ASP.NET Core2程序調用云端的報表(國內的Azure云),并用代碼方式將報表與項目程序集成起來,以供你有個更好的選擇。

?

Power BI

Power BI 是一套商業分析工具,用于在團隊組織中提供數據報表呈現,并支持多種不同的數據源連接,可生成美觀的報表并進行發布,供團隊人員在 Web端與和移動端上使用。微軟Power BI 工具同時提供一個PC桌面版的客戶端“Power BI Desktop”幫助用戶來設計報表,還提供了一套基于Azure云端的報表發布部署環境“Power BI Embedded”。而這里我們主要介紹借助“Power BI Embedded”完成報表集成。如下是跟Power BI相關的網址:

Power BI 中文官網:https://powerbi.microsoft.com/zh-cn/

Power BI Embedded 中文官網:https://powerbi.microsoft.com/zh-cn/developers/embedded-analytics/isv/

?

準備

在著手開始實現之前咱們需準備一些必要的環境,如下:

1、在Azure上創建一個名為“iot-pbi”的Power BI 工作區集合,并獲取其訪問Key,留待后面使用。

2、通過Power BI Desktop工具來設計一個報表名為“work1.pbix”,并保存到本地磁盤。

3、從Github上下載一個由微軟開源的管理Azure端Power BI工作區的命令行工具”ProvisionSample“的代碼,使用VS2017打開項目后并編譯它。代碼地址:https://github.com/Azure-Samples/power-bi-embedded-integrate-report-into-web-app。

4、成功編譯后在其bin目錄找到“ProvisionSample.exe.config”文件,將其打開,并按自身情況填寫,如下:

1 <appSettings file="Cloud.config"> 2 <!-- Azure訂閱id--> 3 <add key="subscriptionId" value="" /> 4 <!-- Azure資源分組名稱--> 5 <add key="resourceGroup" value="" /> 6 <!-- Powerbi工作區集合名稱 --> 7 <add key="workspaceCollectionName" value="" /> 8 <!-- Powerbi工作區集合名稱訪問key --> 9 <add key="accessKey" value="" /> 10 <!-- Powerbi工作區id--> 11 <add key="workspaceId" value="" /> 12 <!-- Azure登錄賬號 --> 13 <add key="username" value="" /> 14 <!-- Azure登錄密碼 --> 15 <add key="password" value="" /> 16 </appSettings>

?

5、用VS2017開發工具創建一個ASP.NET Core2帶視圖的項目名“WebApplication1”。

?

實現

通過上述的準備后,咱們就可以進入具體的發布與集成工作了,如下:

1、因為Azure的用戶臺上暫時沒法直接創建Power BI的工作區與報表,所以我們必需借助從Github下載編譯的工具“ProvisionSample”來完成Power BI的工作區與報表的管理工作。在bin目錄下找到“ProvisionSample.exe”文件啟動它,截圖如下:

?

2、依次輸入命令“1”、“6”來創建一個新的工作區,并獲取該工作區的ID。

3、依次輸入命令“2”、“3”來將本地磁盤的文件“work1.pbix”導入到Azure端,并獲取該報表的ID。

4、通過上面幾步后我們已將本地的報表發布到Azure云端了,那么咱們下一步就來看看如何在ASP.NET Core2項目集成該云端的報表吧。首先,需在ASP.NET Core2項目中通過Nuget管理器引用第三方庫“PowerBI.NetStandard.Api”(Azure官網提供的類庫“Microsoft.PowerBI.Core”暫時不支持ASP.NET Core),該庫的作用是幫助我們可以很簡便的獲取報表授權的Token,后端代碼如下:

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Threading.Tasks; 5 using Microsoft.AspNetCore.Mvc; 6 7 namespace WebApplication1.Controllers 8 { 9 public class PowerbiController : Controller 10 { 11 //工作區集合名稱,按自身情況填寫 12 private string workspaceCollection = ""; 13 //工作區id,按自身情況填寫 14 private string workspaceId = ""; 15 //報表id,按自身情況填寫 16 private string reportId = ""; 17 //工作區集合訪問key,按自身情況填寫 18 private string token = ""; 19 20 public IActionResult Index() 21 { 22 //獲取報表訪問的授權token 23 var embedToken = PowerBIToken.CreateReportEmbedToken(workspaceCollection, workspaceId, reportId); 24 var ebToken = embedToken.Generate(token); 25 ViewBag.StrToken = ebToken; 26 return View(ViewBag); 27 } 28 } 29 }

?

5、后端代碼編寫完成后,在視圖層加入如下前端代碼:

1 <script src="https://microsoft.github.io/PowerBI-JavaScript/demo/node_modules/jquery/dist/jquery.js"></script> 2 <script src="https://microsoft.github.io/PowerBI-JavaScript/demo/node_modules/powerbi-client/dist/powerbi.js"></script> 3 4 <div id="reportContainer" style="width:100%;height:850px;"></div> 5 <script> 6 var token ='@ViewBag.StrToken'; 7 var embedConfiguration = { 8 type: 'report', 9 accessToken: token, 10 id: 'b5904f26-47cc-4455-9025-06258ea5d8f5', 11 embedUrl: 'https://embedded.powerbi.cn/appTokenReportEmbed' 12 }; 13 14 var reportContainer = $('#reportContainer'); 15 var report = powerbi.embed(reportContainer.get(0), embedConfiguration); 16 </script>

?

6、至此,基于ASP.NET Core2項目的前后端代碼就全部編寫完成,運行項目后效果如下:

?

總結

1、Azure云的用戶臺暫時沒提供管理Power BI工作區、報表的功能,所以這里借助開源工具“ProvisionSample”來完成管理。

2、Power BI發布到網頁前端后是通過由后端生成的一個Token來完成身份認證的,如果沒有該Token報表則無法正常打開呈現。

3、Azure官網提供的類庫“Microsoft.PowerBI.Core”暫時不支持ASP.NET Core,這里使用第三方庫“PowerBI.NetStandard.Api”來獲取報表的授權Token。

?

聲明

本文為作者原創,轉載請備注出處與保留原文地址,謝謝。如文章能給您帶來幫助,請點下推薦或關注,感謝您的支持!

?

轉載于:https://www.cnblogs.com/Andre/p/9857067.html

總結

以上是生活随笔為你收集整理的ASP.NET Core2调用Azure云上的PowerBI报表展示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。