スマートマーカーを使ったスライサーによる配列要素の賢いインポート
Contents
[
Hide
]
スライサーによる配列要素へのアクセスの理由
FastReportのスマートマーカーでは、スライサー(例:[array[1..3]])を使った配列要素のアクセスは、データの部分集合を効率的に操作する簡潔な方法を提供します。
- データ抽出の簡素化:大きな配列を手動で反復処理するにはループや複雑な構文が必要です。スライサーを使えば範囲(サブ配列)を一行で抽出可能です。例: [Products[1..5].Name] は最初の5つの商品名を取得します。
- 動的レポート:変動するデータのスライス(例:「上位Nアイテム」、ページネーションビュー)に対してレポートを生成します。例: [Sales[0..{PageNo*10}]] は複数ページのレポート用に動的にデータのチャンクを読み込みます。
- パフォーマンス最適化:全配列をメモリにロードすることを避け、必要な要素だけを取得します。例: [Logs[^10..^1]] は最後の10エントリを効率的に取得します。
- 宣言型構文:テンプレートマーカーに意図を直接表現します。例: [Employees[3..7].Department] は、エントリ3から7までの部署を明確に選択します。
- データソースとの連携:データベース、JSON、またはコードの配列と連携可能です。例: Invoice.Items[0..2]をバインドして最初の3つの行アイテムを表示します。
- Smart Markersのスライサーはコードの複雑さを軽減し、可読性を向上させ、配列のサブセットのデータ処理を最適化します。ページネーションやトップ-Nリスト、ウィンドウ表示されたデータビューなど、迅速かつ範囲ベースのアクセスが必要な場合に使用します。
Smart Markersで配列要素をスライサーを使ってExcelにインポートする方法
Aspose.Cellsは、Smart Markersでスライサーを使った配列要素へのアクセスをサポートしています。テンプレートファイル、jsonファイル、および以下のコードで生成された出力Excelファイルのスクリーンショットをご確認ください。
| smartmarker.xlsxファイルの最初のワークシートにスマートマーカーを表示 |
|---|
![]() |
| 出力Excelファイルのスクリーンショット |
|---|
![]() |
以下はJSONデータです:
{
"EntityCin": "EntityCin Test",
"EntityName": "EntityName Test",
"FirstName": "FirstName Test",
"MiddleName": "MiddleName Test",
"LastName": "LastName Test",
"DOB": "2025-02-08",
"SSN": "11111111",
"Directors": [
{
"id": "director id 1",
"FirstName": "director first 1",
"MiddleName": "director middle 1",
"LastName": "director last 1",
"Reportees": [
{
"id": "aaa",
"FirstName": "first aaa",
"MiddleName": "middle aaa",
"LastName": "last aaa",
"Department": "aaa department",
"City": "aaa city",
"GST": "Yes",
"ITR": "No"
},
{
"id": "bbb",
"FirstName": "first bbb",
"MiddleName": "middle bbb",
"LastName": "last bbb",
"Department": "bbb department",
"City": "bbb city",
"GST": "Yes",
"ITR": "Yes"
},
{
"id": "ccc",
"FirstName": "first ccc",
"MiddleName": "middle ccc",
"LastName": "last ccc",
"Department": "ccc department",
"City": "ccc city",
"GST": "No",
"ITR": "No"
}
]
},
{
"id": "director id 2",
"FirstName": "director first 2",
"MiddleName": "director middle 2",
"LastName": "director last 2",
"Reportees": [
{
"id": "eee",
"FirstName": "first eee",
"MiddleName": "middle eee",
"LastName": "last eee",
"Department": "eee department",
"City": "eee city",
"GST": "Yes",
"ITR": "No"
},
{
"id": "fff",
"FirstName": "first fff",
"MiddleName": "middle fff",
"LastName": "last fff",
"Department": "fff department",
"City": "fff city",
"GST": "No",
"ITR": "No"
}
]
},
{
"id": "director id 3",
"FirstName": "director first 2",
"MiddleName": "director middle 2",
"LastName": "director last 2",
"Reportees": [
{
"id": "eee3",
"FirstName": "first eee3",
"MiddleName": "middle eee3",
"LastName": "last eee3",
"Department": "eee department3",
"City": "eee city3",
"GST": "Yes",
"ITR": "No"
},
{
"id": "fff3",
"FirstName": "first fff3",
"MiddleName": "middle fff3",
"LastName": "last fff3",
"Department": "fff department3",
"City": "fff city",
"GST": "No",
"ITR": "No"
}
]
},
{
"id": "director id 4",
"FirstName": "director first 4",
"MiddleName": "director middle 4",
"LastName": "director last 4",
"Reportees": [
{
"id": "eee4",
"FirstName": "first eee4",
"MiddleName": "middle eee4",
"LastName": "last eee4",
"Department": "eee department4",
"City": "eee city4",
"GST": "Yes",
"ITR": "No"
},
{
"id": "fff4",
"FirstName": "first fff4",
"MiddleName": "middle fff4",
"LastName": "last fff4",
"Department": "fff department4",
"City": "fff city4",
"GST": "No",
"ITR": "No"
}
]
}
]
}
以下の例は、これがどのように動作するかを示しています。

