SSブログ

フナ、クジラ、ヒトデ、ホッケ 仲間外れは? [HEX]

Excel は内部で Unicode を使うように構成されているらしい。ところが、Excel が吐く CSV のファイルは Shift-JIS なので、ここで文字コードの変換が行われる。Unicode と Shift-JIS で扱える文字集合が同じなら問題はないだろうけど、残念ながらそんなことはない。Unicode にあって Shift-JIS に無い文字はどう頑張っても表すことができない。

JIS 第三水準、第四水準に含まれるの多く(全てではないようです)は Shift-JIS に含まれないし、JIS に含まれないハングル文字のようなものも Shift-JIS では表せない。

Excel のセルに上記のような文字が含まれている場合でも、標準のワークブックの形式(.xlsx や .xls)で保存すれば問題なく使えるはず。問題になるのは CSV 形式で保存しようとした場合に限るということ。

今回は、Excel のワークブックにアクセスして CSV ファイルを自前で作ってしまうことを考える。その場合いくつかの方法があるのだけれど、

  1. Excel のマクロを使用する
  2. ADO を使用して、Excel のテーブルデータを読み出す
  3. オートメーションを使用して外部のプログラムから Excel のセルの情報を読み出す

どれも一長一短があり、常にどれかが優位になるというものではないのだけれど、今回はオートメーションを使ってみることにしよう。マクロを使用するには Excel を起動しないとならないし、ADO では綺麗に整列されたテーブルでないと使えないという点を考慮した結果の選択です。ただ、オートメーションは遅いという難点があるのですが...。

さて、タイトルのなぞなぞの答えですが、全ての選択肢で仲間外れになる要素を 1 つ以上持っているはず。ただ、今回のネタに合わせたものでは、ホッケだけが SHIFT-JIS 外の漢字という事です。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

CSV私の? ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。