4-6-1-1 出力するExcelファイルの設定をする
帳票をExcelファイルで出力する場合、行の高さや列の幅、Excelの計算式や関数を、フィールドのコメントで指定できます。
行の高さや列の幅を指定する
行の高さや列の幅を指定するには、フィールドのコメント欄に、以下のように入力します。
指定する値 | コメントの記述 | 説明 | 指定例 |
---|---|---|---|
行の高さ | CELLHEIGHT=n | nに行の高さをポイントで指定します。 | CELLHEIGHT=100 |
列の幅 | CELLWIDTH=n | nに列の幅をポイントで指定します。 | CELLWIDTH=200 |
行の高さ、列の幅 | CELLHEIGHT=n CELLWIDTH=n | 同時に指定する場合は、半角スペースで区切って指定します。 | CELLHEIGHT=100 CELLWIDTH=200 |

フィールドのコメントに行の高さと列の幅を指定した例
注意
行の高さや列の幅を指定した場合、設計レイアウトとは異なる出力になります。指定した値によっては、ページ内に収まらない場合もありますので、注意して値を指定してください。
行の高さや列の幅を指定したフィールドにデータが出力されない場合、指定した値は適用されません。
Excelの計算式や関数を指定する
Excelの計算式や関数を指定するには、フィールドのコメント欄に、以下のように入力します。
FUNCTION=<Excelの計算式や関数>

フィールドのコメントにExcelの数式を指定した例
<Excelの計算式や関数>に指定した文字列がExcelの数式として設定されます。
<Excelの計算式や関数>で使用するセルの指定は、Excelのセル参照を直接指定する方法と、XML様式ファイルのフィールド名を指定する方法が可能です。
サブフォームのレコード上のフィールドや繰り返しフィールドで指定すると、そのフィールドが展開されるすべてのセルに対して数式が適用されます。
参考
セル参照は、Excelのワークシートでセルの位置を表す座標です。例えば、「列B」と「行3」が交わる位置のセル参照は「B3」です。
Excelのセル参照を直接指定する
あらかじめ、該当フィールドの出力されるセル位置が分かる場合に使用します。
「FUNCTION=」以降の文字列が、Excelの数式として該当セルに設定されます。
FUNCTION=A1*B1/C1 FUNCTION=SUM(A1:B1)
XML様式ファイルのフィールド名を指定する
指定したXML様式ファイルのフィールド名から、そのフィールドが出力されるセル位置を判断し、そのフィールド名をExcelのセル参照へ置換して、Excelの数式として該当セルに設定されます。
指定するフィールドが、レコード内や繰り返しフィールドに設計している場合は、出力される位置が可変となります。このため、指定したフィールド名は、出力された行数分のセル参照の配列へ置換されます。
フィールド名は、[]で囲んで指定します。
FUNCTION=[Field1]*[Field2]/[Field3] FUNCTION=SUM([Field1]:[Field2])
[フィールド名]に指定したフィールドの設計位置により、以下のように設定されます。
固定フィールド(繰り返しフィールドやレコード領域ではないフィールド)
該当フィールドが出力されるExcel上のセル位置に、1つのセル参照に置換されます。
可変フィールド(繰り返しフィールドやレコード領域のフィールド)
固定フィールドからの参照の場合
出力された明細行数分のセル参照の配列に置換されます。
同じ可変行からの参照の場合
参照元と同一明細行にあるセルのみ参照するように、1つのセル参照に置換されます。
異なる可変行からの参照の場合
出力された明細行数分のセル参照の配列に置換されます。
注意
コメント欄を利用する他の機能(FONTSIZEやCELLHEIGHTなど)と併用する場合は、半角スペースで区切り、最後尾に指定してください。
引数として配列が指定できる関数以外は、[フィールド名]に可変フィールドを指定しないでください。
例えば、ExcelのCHAR()関数などは引数を一つのみ指定できますが、可変フィールドを引数に指定した場合、Excelファイルを開くとエラー値(#VALUE!)で表示されます。
セル参照は1ページ内でのみ有効になります。ページを跨るセル参照はできません。
例えば、2ページの明細行を出力し、2ページ目に、FUNCTION=SUM([フィールド名])にて合計を印字する場合、2ページ目に出力された明細行のみが統計処理の対象データとして扱われます。
本機能で設定するExcelのSUMなどの統計関数は、SVFのレポートライターモードの改ページやキーブレイクなどとは連動しません。
改ページ単位やキーブレイク単位などの制御で、統計処理をする場合は、SVFの統計関数を利用してください。
本機能で使用できるExcel関数は、Apache POIに依存します。Apache POIでサポートされていないExcel関数を指定した場合には、例外が発生します。また、Excelファイルを開いたときのExcel関数の処理はExcelの仕様に依存します。使用できる関数は次のとおりです。
ABS、ACOS、ACOSH、ADDRESS、AND、ASIN、ASINH、ATAN、ATAN2、ATANH、AVEDEV、AVERAGE、CEILING、CHAR、CHOOSE、CLEAN、COLUMN、COLUMNS、COMBIN、CONCATENATE、COS、COSH、COUNT、COUNTA、COUNTBLANK、COUNTIF、DATE、DAY、DAYS360、DEGREES、DEVSQ、DOLLAR、ERROR.TYPE、EVEN、EXACT、EXP、FACT、FALSE、FIND、FLOOR、FV、HLOOKUP、HOUR、HYPERLINK、IF、INDEX、INDIRECT、INT、IRR、ISBLANK、ISERROR、ISEVEN、ISLOGICAL、ISNA、ISNONTEXT、ISNUMBER、ISODD、ISREF、ISTEXT、LARGE、LEFT、LEN、LN、LOG、LOG10、LOOKUP、LOWER、MATCH、MAX、MAXA、MEDIAN、MID、MIN、MINA、MINUTE、MOD、MODE、MONTH、MROUND、NA、NETWORKDAYS、NOT、NOW、NPER、NPV、ODD、OFFSET、OR、PI、PMT、POISSON、POWER、PRODUCT、PV、RADIANS、RAND、RANDBETWEEN、RANK、RATE、REPLACE、RIGHT、ROUND、ROUNDDOWN、ROUNDUP、ROW、ROWS、SEARCH、SECOND、SIGN、SIN、SINH、SMALL、SQRT、STDEV、SUBSTITUTE、SUBTOTAL、SUM、SUMIF、SUMIFS、SUMPRODUCT、SUMSQ、SUMX2MY2、SUMX2PY2、SUMXMY2、T、TAN、TANH、TEXT、TIME、TODAY、TRIM、TRUE、TRUNC、UPPER、VALUE、VAR、VARP、VLOOKUP、WEEKDAY、WORKDAY、YEAR、YEARFRAC