Q148-1:現在MySQLにストアしたデータをエクセルファイルに書き出す処理を、SampleのExcelファイルアクセスを元に作成していますが、日付が’Mon Nov 24 00:00:00 JST 2010'の形式(MySQLの形式)で出力されるので、これを'yyyy/MM/dd'の形式で出力させるようにカレンダーコンポーネントを使い試していますが、どうも時間ばかりかかっている状況です。何か簡便に返還する手はありませんか?
A148-1:
MySQLから取得したデータは一旦MZPlatformの[テーブル]または[テーブル格納変数]に設定なさっているかと存じます。
MySQLのDate型等の日付型のデータは、MZPlatformの[テーブル]上でも列型は日付型となります。
日付型の値を取り出して文字列として見ると、『Mon Nov 24 00:00:00 JST 2010』といった形に見えてしまいますので、エクセルファイルに出力する前に、表示形式を整え、文字列型としておくという考え方になります。
1)[テーブル]の列型を文字列型に変更する
a)手動で変更
@[テーブル]の上で右クリック>[列]>[表示属性(日付)]>[表示形式]>[日付のみ]を選択。
A[テーブル]の上で右クリック>[列]>[列型]>[文字列]を選択。
b)メソッドで変更する
@「setDateColumnFormatDateOnly(int)」を実行
<引数>列の位置番号(例:固定値、「0」)
A「setColumnType(Class,int)」を実行
<引数0>取得方法:固定値、メソッド/値:「java.lang.String」
<引数1>列の位置番号(例:固定値、「0」)
2)[テーブル格納変数]に入っている場合は、日付列のデータを取り出して[カレンダー]で表示書式を変換、当該列の列型を文字列に変更した後、表示書式を変換しておいたデータを設定します。
@[テーブル格納変数]「列データリストを位置指定で取得する(int)」
<引数>列の位置番号(例:固定値、「0」)
A[カレンダー]
「書式指定による文字列表現リストの取得(PFObjectList,String)」
<引数0>取得方法:メソッド処理結果
メソッド/値:「列データリストを位置指定で取得する」
<引数1>取得方法:固定値、メソッド/値:「yyyy/MM/dd」
B[テーブル格納変数]「列型を位置指定で設定する(int,Class)」
<引数0>列の位置番号(例:固定値、「0」)
<引数1>取得方法:固定値、メソッド/値:「java.lang.String」
C[テーブル格納変数]「setColumn(int,PFObjectList)」
<引数0>列の位置番号(例:固定値、「0」)
<引数1>取得方法:メソッド処理結果
メソッド/値:「書式指定による文字列表現リストの取得」