Q18-2:
関連ファイルを試させて頂きました。XLS形式で行いましたが、読み込み→書き出しが正常にでき、出力内容にも問題ありませんでした。
考え方の事ですが、
雛型ファイルを読み込み→Aテーブルデータを任意のExcelセルに展開→B書き出し(元の書式保持)
との流れになりますでしょうか。
テーブルデータを任意のExcelセルに展開する方法について、例として、3列3行程度のテーブルデータを、任意に展開する方法をご教示頂けますでしょうか。よろしくお願致します。
A18-2:
ご連絡ありがとうございます。
> 雛型ファイルを読み込み→Aテーブルデータを任意のExcelセルに展開→B書き出し(元の書式保持)
> との流れになりますでしょうか。
このような流れでお考え頂いて結構です。但し幾つか注意点がございます。
1)XLSX形式のファイルを雛型として読み込んだ場合、XLSXファイルとしてしか保存できず、かつ「元の書式保持」(=値のみをEXCEL出力する)のみという制限がございます。MZ上で新たに列を追加しても書式を付けて保存はできません。
雛形となるシートには書式設定した行列を充分に準備しておくか、足りない部分は後から手動で書式設定することになります。
値のみでしたら、MZPlatform上で新たに列や行を追加しても出力されます。
2)テーブルの結合の方法は様々ございます。関連ファイルでは「行を追加する(PFObjectTable)」を使い、テーブルデータごと追加しています。
ご希望がございましたら、どうぞお知らせ下さい。
3)関連ファイルは、先日お送りしたサンプルファイル「Excelファイルアクセス改.mzax」の「セル指定で読み込み」部分を削ったもので、残りの処理はほとんど変更していません。
但し、「保存したいデータはデータベースから読み込んだものであり、列型は文字列型だけとは限らない」と想定した場合、日付や数値の書式が少々気になりますので、変更を加えました。
・複合コンポーネント「テーブル日付データ文字列変換」([複合コンポーネント追加]>[テーブル]>[テーブル日付データ文字列変換.mzcx])を使用し、MZPlatform上の雛形テーブルに追加する時には文字列としています。
雛型シートは全て文字列として読み込んでいますし、日付は文字列でEXCELに戻す方が相性が良いようです。
・セル値設定のメソッドを「現在のセルの値を設定する(String)」から「現在のセルの値を自動判別して設定する(Object)」に変更しました。EXCELに数値を文字列で設定すると「緑のエラーチェックマーク」が付きますが、これで回避できます。
他のデータ型で却って書式が変ってしまうようでしたら、元のメソッドに戻して下さい。
処理が長くなっていますので、2つ目の添付ファイルは複合コンポーネントに纏めてみたものです。あくまで一例ですが、ご参考になれば幸いです。
ご検討頂き、ご要望等ございましたら、お手数ですがどうぞ再度ご連絡下さい。
よろしくお願い申し上げます。
関連ファイル:ExcelファイルアクセスTEST1.mzax、ExcelファイルアクセスTEST2.mzax、雛形.xlsx