Pythonを介してAspose.Cells for Javaを使ってスマートマーカーでデータをスマートにインポートして配置する
紹介
スマートマーカーは、Aspose.Cellsにどの情報をMicrosoft Excelのデザイナースプレッドシートに配置するかを知らせるために使用されます。スマートマーカーを使用すると、特定の情報と書式を含むテンプレートを作成できます。
デザイナースプレッドシートとスマートマーカー
デザイナースプレッドシートは、視覚的な書式、数式、スマートマーカーを含む標準のExcelファイルです。プロジェクトからの情報や関連連絡先の情報など、1つ以上のデータソースを参照するスマートマーカーを含めることができます。スマートマーカーは、情報を配置したいセルに書き込まれます。
すべてのスマートマーカーは、&=で始まります。データマーカーの例として、&=Party.FullNameがあります。データマーカーが1つ以上のアイテム(例:完全な行)の結果を得る場合、新しい情報に対応するために自動的に次の行が移動されます。したがって、サブトータルや合計は、挿入されたデータに基づいて計算を行うために、データマーカーの直後の行に配置することができます。挿入された行で計算を行うには、動的な数式を使用します。
スマートマーカーには、ほとんどの情報のデータソースとフィールド名から成るものがあります。特別な情報は変数や変数配列を伴ったスマートマーカーにも渡される場合があります。変数は常に1つのセルのみに入り、変数配列は複数のセルに入ることがあります。セルごとに1つのデータマーカーしか使用しないでください。未使用のスマートマーカーは削除されます。
スマートマーカーにはパラメータも含めることができます。パラメータを使用すると、情報のレイアウト方法を変更することができます。パラメータは、カンマで区切られたリストとしてスマートマーカーの末尾に追加されます。
スマートマーカーオプション
&=DataSource.FieldName &=[Data Source].[Field Name] &=$VariableName &=$VariableArray &==DynamicFormula &=&=RepeatDynamicFormula
パラメータ
以下のパラメータが許可されています:
- noadd - データに合わせて追加の行を追加しません。
- skip:n - 各データ行ごとにn行をスキップします。
- ascending:nまたはdescending:n - スマートマーカーのデータをソートします。nが1の場合、列はソーターの最初のキーです。データはデータソースの処理後に並べ替えられます。例えば:&=Table1.Field3(ascending:1)。
- horizontal - 上下ではなく左から右にデータを書き込みます。
- numeric - 可能であればテキストを数値に変換します。
- shift - データに合わせて余分な行や列を作成し、下方に移動したり右に移動したりします。シフトパラメータは、Microsoft Excelにおいて同様の方法で機能します。たとえば、Microsoft Excelでは、セルの範囲を選択し、右クリックして挿入を選択し、セルを下方にシフト、セルを右にシフトなどを指定するときと同じように機能します。要するに、shiftパラメータは垂直/通常(上から下)または水平(左から右)のスマートマーカーに対して同じ機能を果たします。
- copystyle - ベースセルのスタイルをその列のすべてのセルにコピーします。
パラメーターnoaddとskipを組み合わせることで、交互に行にデータを挿入できます。テンプレートは上から下に処理されるため、交互の行の前に余分な行が挿入されるのを避けるために、最初の行にnoaddを追加するべきです。
複数のパラメータを持つ場合は、コンマで区切りますが、スペースは入れません:parameterA,parameterB,parameterC。
次のスクリーンショットは、交互の行にデータを挿入する方法を示しています。
テンプレートファイル | 出力ファイル |
---|---|
動的な式
動的な式を使用すると、エクスポートプロセス中に挿入される行を参照する式をセルに挿入できます。 動的な式は、挿入された行ごとに繰り返すことができるか、データマーカーが配置されたセルのみを使用できます。
動的な式には、次の追加のオプションがあります:
- r - 現在の行番号。
- 2, -1 - 現在の行番号へのオフセット。
例:
&=&=B{-1}/C{-1}~(skip:1)
動的な数式のマーカーでは、「-1」は、除算操作に設定されるB列とC列への現在の行へのオフセットを示し、スキップパラメーターは1行です。さらに、以下の文字を指定する必要があります:
"~"
動的な数式で追加のパラメーターを適用するための区切り文字。
次のスクリーンショットは、繰り返しの動的な数式とその結果のExcelワークシートを示しています。
テンプレートファイル | 出力ファイル |
---|---|
セル"C1"には、式**= A1*B1**が含まれ、セル"C2"には**= A2*B2**、セル"C3"には**= A3*B3**が含まれています。 |
スマートマーカーを処理するのは非常に簡単です。次に示すのは、それをどのように実行するかを示すPython via Javaのコードスニペットです。