ODBC経由でExcelブック/CSVにアクセス version 0.1(試作版)

このアプリケーションについて

 ODBCドライバ経由でExcelブックファイル/CSVファイルにアクセスし、ファイルをDBと見なしてSQLによる検索を実行するHTMLアプリです。
 とりあえず試作してみただけなので、SQL文はSELECTのみで、更新系のSQLにはまだ対応していませんが、ちょっと内容を確認したいという程度なら、それなりに使えるかと思います。

※当アプリは Windows 8 環境でのみ動作確認しています。

インストールとアンインストール

インストール

 アーカイブの内容を、フォルダ構成を保ったまま、ローカルの任意のフォルダにコピーします。

DB  
ExcelCsvViaOdbc …… 当アプリケーションのフォルダ
help ヘルプフォルダ(このドキュメント)
sample サンプルフォルダ
script スクリプトフォルダ
style スタイルシートフォルダ
ODBC経由でExcelCsv.hta HTMLアプリケーション
lib …… ライブラリフォルダ
readme.txt

アンインストール

 インストール時にローカルにコピーしたフォルダ/ファイル群を削除します。書き込み等はいっさい行なっていないので、これだけでアンインストール完了です。

使い方

  1. ローカルにコピーした ExcelCsvViaOdbc フォルダ中の ODBC経由でExcelCsv.hta をダブルクリックします。
  2. 左図のようなウインドウが表示されるので、ODBCドライバとデータフォルダ/ファイルを指定して「開く」ボタンを押下します。
  3. 先頭の一行目がヘッダなら「先頭レコードはヘッダ」をチェックします。
  4. Excelブックの場合はファイルを、CSVの場合はフォルダを指定できていれば「開く」ボタンが有効になるので押下します。
  5. 正常に終了すればODBC選択や「開く」ボタン等が無効になり、代わりに「閉じる」「SQL実行」「Schema」ボタンが有効になります。またテーブル一覧が表示されます。
  6. SELECT文を入力して「SQL実行」を押下すると検索結果が下部に表示されます。複数のSELECT文を入力しておいて、範囲選択すればそのSQLだけ実行できます。

各設定項目

ODBCドライバ
ODBCドライバを選択します。ExcelとCSV用のドライバ(32ビット)が登録されています。
データファイル/データフォルダ
選択したODBCドライバを経由して開くファイルまたはフォルダをフルパスで指定します。
Excelの場合はひとつのブックファイルをDBとして扱う(シートや定義済の名前の範囲がそれぞれテーブル相当になる)のでファイルを、CSVなどのテキストファイルの場合はひとつのフォルダをDBとして扱う(各ファイルがテーブル相当になる)のでフォルダを指定します。
フォルダ/ファイルのパスを入力するのがわずらわしければ、「Drop Area」とある場所にフォルダ/ファイルをドロップすれば反映されます。
先頭レコードはヘッダ
チェックすると、先頭のレコードをヘッダと見なします。
読込専用で開く
チェックすると読込モードでDBを開きます。SELECT文しか発行できない現状ではチェックしなくても支障ありませんが、チェックの有無でDBのオープンモードは異なっています。
開く
指定した条件でDBを開きます。DBを開いている最中は、ODBCやファイル/フォルダなどの指定を変更することはできません。
閉じる
開いているDBを閉じます。
SQL実行
SQL入力エリアにあるSQLを実行します。範囲選択されていれば、その部分だけ実行します。このとき、SQL文末尾に「;」がなければ補います。
うまく実行されない場合は、SQL入力エリアをクリックしてから押下してみてください。
Schema
開いているDBのスキーマ情報を下部に表示します。
テーブル一覧
開いているDBのテーブル一覧です。スキーマ情報として表示されるもののうち、「TABLE_NAME」カラムを表示しています。
Excelブックの場合、末尾に$がついているのはシート名です。CSVの場合、指定されたフォルダ内のファイル名が表示されます。
ダブルクリックすると、その名前が [ ] で囲まれてSQL入力エリアに挿入されます。
SQL
発行したいSQL文を入力します。

サンプルの使い方

Excelブックファイル

  1. ODBCドライバで「Excel 12.0」を選択します。
  2. sample フォルダ下の 全国地方公共団体コード_20140101現在.xlsx をデータファイルに指定します。
  3. 「先頭レコードはヘッダ」をチェックします。
  4. 「開く」ボタンを押下します。
  5. テーブル一覧が表示されます。シート名末尾に$がついて表示されるほか、セル範囲に名前を定義してあればそれも表示されます。

CSVファイル

  1. ODBCドライバで「CSV」を選択します。
  2. sample フォルダ下の 全国地方公共団体コード フォルダをデータフォルダに指定します。
  3. 「先頭レコードはヘッダ」をチェックします。
  4. 「開く」ボタンを押下します。
  5. データフォルダ内にあるテキストファイルが、テーブル一覧に表示されます。

 CSVの場合、デフォルトと異なる設定のファイルに関しては、データフォルダ内に schema.ini ファイルを置いて定義する必要があります。文字コードがShift_JISではない、区切り文字がカンマではない、各要素がダブルクォーテーションで囲まれていない、等々がそれです。
 たとえば文字コードがUnicodeやUTF-8だったり、タブ区切りだったりするのであれば指定は必須です。文字コードについては、定義されている「OEM」「ANSI」「UNICODE」以外は、「UTF-8」といった文字列ではなくベンダーごとに定義している「コードページ番号」で指定する必要があります。
 また、それらがデフォルトであっても、カラム名とデータ型を指定しないと、そのカラムをWHERE句に指定できないかもしれません。

全国地方公共団体コード フォルダ下にも schema.ini があります。

免責事項

 ご自由にお使いくださってかまいませんが、動作を保証するものではありません。当スクリプトを使用したことによって何からの不利益を被ったとしても、作者はいっさい責任を負いませんので、その点をご了承の上、すべて自己責任でお使いください。
 ただし要望、バグ報告等は伺いますので、何かあればメインサイトの掲示板でご相談ください。

 なお無償で行なうかぎり、改造&再配布も自由に行なうことができます。ただし各所にある著作権表記は削除しないでください。 (改造者として追記するのはかまいません)