Q140:MZPlatformへのEXCELファイルの読込み、検索について
A140:
MZPlatformへのEXCELファイルの読込み、検索についてご紹介致します。
EXCELファイルの読込み方法は大きく分けて3つあります。
@一種のデータベースとして[データベースアクセス]コンポーネントを使って読み込む
サンプルファイル(¥MZPlatform¥2.7¥Sampleフォルダ内)
「データベースアクセス_2(エクセル接続).mzax」
A[EXCELファイルアクセス]を使い、なるべく見た目はそのままの形式で読み込む
サンプルファイル
「Excelファイルアクセス.mzax」
BCSVファイルとして保存した後、読み込む
サンプルファイル
「CSV入出力.mzax」
(@、Aのサンプルには説明文書もありますので、「ドキュメントインデックス」から開いてご覧下さい。)
[データベースアクセス]については、『データベースアクセスチュートリアル』のP16までと『エクセル連携チュートリアル』のP24までに、まずは目をお通し下さい。
それぞれに利点と難点があります。
@はSQL文を使って様々に検索が可能です。
接続や検索の文を設定するのは少々手間が掛かります。
表の中にデータ以外に余白列/行や式の入ったセル、一列に複数のデータ型のデータがあると、表示が崩れたり消える可能性があります。
Aはセル指定で読み込みもできますが、基本的にシート全体を読み込みます。
余白などがあっても表示できます。
このままでは検索の機能はありません。
B入力出力は一番簡単です。
常に文字列として扱われるので、特に日付では注意する必要があります。
このままでは検索の機能はありません。
よろしければ、お手元のファイルを上記@〜Bのサンプルファイルで開いて、表示ができるかお試し下さい。
なお@の方法で読み込む場合、基本的に事前にODBCの設定が必要ですが、サンプルは設定が不要になるよう接続文字列を設定してあります。
検索の方法としては
@[データベースアクセス]コンポーネントを使ってSQL文を実行する
A一旦対象となる表をMZPlatform上に読み込んでしまい、そのデータを[テーブルサブセットフィルタ]コンポーネントを使って抽出する
の2通りが考えられます。
関連ファイルは¥MZPlatform¥2.7¥Tutorialフォルダ内の「dispatch.xls」ファイルを対象に氏名列の検索をご紹介していますが、あくまでこんなことができるという例であり、非常にシンプルにしてあります。
少しずつ処理を追加/変更しながら、実用に近い物ができればと存じます。
関連ファイル:表データ検索1.mzax、表データ検索2.mzax