サーバーのエクスポート
ダッシュボードは、UI を必要とせずに、サーバー上の Excel、PDF、または PowerPoint にエクスポートできます。「ヘッドレス エクスポート」とも呼ばれます。サーバー上のダッシュボードのエクスポートは、IDashboardExporter
を使用して実行されます。
IDashboardExporter
は、次のように ASP.NET コントローラー または最小限の API 関数に挿入することで取得できます。
app.MapGet("/dashboards/export/{name}", async (string name, IDashboardExporter dashboardExporter) =>
{
}
ダッシュボードをエクスポートする方法
IDashboardExporter
は、ダッシュボードをファイル ストリームとして、またはディスク上のファイル パスにエクスポートするための API を提供します。サポートされている各エクスポート形式には、エクスポート プロセスを簡素化するための API があります。
Excel
//export to stream
var stream = await dashboardExporter.ExportToExcel(dashboardName);
//export to file
await dashboardExporter.ExportToExcel(dashboardName, filePath);
//export to stream
var stream = await dashboardExporter.ExportToPdf(dashboardName);
//export to file
await dashboardExporter.ExportToPdf(dashboardName, filePath);
PowerPoint
//export to stream
var stream = await dashboardExporter.ExportToPowerPoint(dashboardName);
//export to file
await dashboardExporter.ExportToPowerPoint(dashboardName, filePath);
PDF または PowerPoint 形式へのエクスポートには、時間がかかる場合があります。UI からサーバー側のエクスポートを呼び出す場合は、エクスポートが処理中であることを視覚的に示すインジケーターをユーザーに提供してください。
ユーザー コンテキストの提供
ダッシュボードには、Reveal SDK ユーザー コンテキストを必要とするデータ ソースがある場合があります。この場合、エクスポート メソッドの引数として Reveal SDK の IRVUserContext
を指定して、ダッシュボードのエクスポートを確実に成功させる必要があります。
IRVUserContext
を取得する最初の手順は、IRVUserContextProvider
と IHttpContextAccessor
を ASP.NET コントローラーまたは最小限の API 関数に挿入することです。次に、引数として IHttpContextAccessor.HttpContext
を渡して IRVUserContextProvider.GetUserContext
を呼び出します。
app.MapGet("/dashboards/export/{name}", async (string name, IDashboardExporter dashboardExporter,
IRVUserContextProvider userContextProvider, IHttpContextAccessor httpContextAccessor) =>
{
var userContext = userContextProvider.GetUserContext(httpContextAccessor.HttpContext);
}
IRVUserContext
インスタンスを取得したら、それを引数として export メソッドに渡すことができます。
//export to stream
var stream = await dashboardExporter.ExportToExcel(dashboardName, userContext);
//export to file
await dashboardExporter.ExportToExcel(dashboardName, filePath, userContext);
エクスポート オプション
各エクスポート形式は、ダッシュボードをエクスポートする際のさまざまなオプションをサポートしています。たとえば、各ページのヘッダーに著者名を追加したり、各ページのフッターに会社名を追加したりできます。
各エクスポート形式には、特定のオプション オブジェクトがあります:
- Excel:
ExcelExportOptions
オブジェクトを使用 - PDF:
PdfExportOptions
オブジェクトを使用 - PowerPoint:
PowerPointExportOptions
オブジェクトを使用
ダッシュボード エクスポートのオプションを設定するには、エクスポート形式オプション クラスのインスタンスを作成し、それを引数として export メソッドに提供します。
//create Pdf options
var pdfOptions = new PdfExportOptions()
{
Landscape = true
};
//export Pdf to stream
var stream = await dashboardExporter.ExportToPdf(dashboardName, options: pdfOptions);