Okapi Project

帳票作成の留意点

バージョン
2004 年 12 月 20 日 Ver.1.1
作成者
T.Hirata ( Xware )

要約

帳票の出力は、AP からテンプレートに文字を埋め込む処理を実装することによって行なうことができますが、ただ単純に文字を埋め込んだだけでは意図したとおりに出力されないことがあります。

例えば、「10000000000001」 のような桁の多い数字をそのまま出力すると、セルには「1E+13」 というように出力されます。実際にこのような数値を出力するかどうかは別として、これでは数を正確に表すことができません。

 

ここでは、このような帳票作成の際に留意すべき事項と、その対処方法について記載します。

目次


1. 出力内容の不具合

1.1. 桁数の多い数字

「10000000000001」 のように桁の多い数字をそのまま出力すると、セルには「1E+13」 というように指数表示されます。実際にこのような数値を出力するかどうかは別として、これでは数を正確に表すことができません。

通常、このような場合にはセルの書式設定をテキスト型(Excel での文字列型)にすることで、入力したとおりの値を出力することができます。しかし、AP を通してテンプレートから Excel ブックを作成した場合には、テキスト型のセルに数字を埋め込んでも、なぜか指数表示されてしまいます。

 

1.2. ゼロサプレス

「0001000」のように頭に 0 が付く数字をそのまま出力すると、セルには「1000」と表示されるというように、数値として必要のない 0 が省略されて表示されます。その 0 が本当に不要であれば問題はないのですが、例えば「09012341234」のように電話番号を出力しようとした場合でも最初の 0 が省略されて「9012341234」となってしまいます。

これも 1.1. と同様で、本来ならセルの書式設定をテキスト型(Excel での文字列型)にすることで対応できるのですが、AP を通してテンプレートから Excel ブックを作成した場合には、テキスト型のセルに数字を埋め込んでも、なぜかゼロサプレスされて表示されてしまいます。

 

1.3. 対処方法

上記の問題は、本来の対処であるセルの書式設定をテキスト型にするという方法では対応できませんが、AP から値を埋め込むとき、文字列の初めに「 ' (シングルクォーテーション)」を付けることでテキスト型として表示することができます(「 ' 」は表示されません)。

この方法なら AP から埋め込んだ文字列をそのまま帳票に出力することができますが、数値項目をテキスト型で出力するため、セルの書式設定を「数値」にしたときに利用できる表示フォーマット(桁区切り点を付ける)などを使用することができなくなります。そのため、桁区切り点をつけるというような出力内容を編集する処理は AP で実装する必要があります。

 

2. 出力形式の不具合

 

上記の点に留意して、きちんとした帳票のテンプレートを作成しても、実際に AP から出力したらレイアウトが崩れてしまうことがあります。

2.1. セル幅の変化

開発マシンである Windows マシン上で AP を立ち上げて帳票を出力すると普通に表示されますが、試験用マシンの Linux 上で AP を立ち上げて帳票を出力すると帳票のセルの幅がテンプレートの幅より 20 % 程狭まって表示されてしまいます。

 

2.2. 対処方法

テンプレートのセルの幅をあらかじめ 20 % 程広げておき、帳票を出力したときに本来期待するサイズになるようにします。

 


Copyright © 2003 - 2006 Okapi Project All Rights Reserved.