I/O」は、CSVファイルのインポート・エクスポート機能を強化するExcel用アドイン。標準のインポート・エクスポート機能で気になる数値の扱いや、文字コードの問題などを改善した処理が可能になる。2007/2010/2013に対応するフリーソフトで、作者のWebサイトからダウンロード可能だ。そもそもMS-DOS時代から存在するCSV形式は、『,(カンマ)』区切りでデータを管理するシンプルな仕組みのため、多様な場面で使われてきた。古いデータをインポートする場面や、古い実装で組まれたアプリケーションにデータをエクスポートする場面など、現在でもCSV形式を使う場面は少なくない。ExcelでCSVファイルを開く際、数値のみのレコードは『"(ダブルクォート)』で囲んでいても、数値として扱われるのがネックとなる場合がある。『001』というレコードは『1』と扱われてしまい、後からセルの分類を“文字列”に変更しても内容は『1』に変更されたままとなり、期待通りにCSVファイルを読み込むことができない。Excelが出力するCSV形式の文字コードはShift-JISに固定されているため、そのままJavaScriptなどサーバーサイドスクリプトから参照させる場合、文字コードの変換処理が必要となってしまう。2013からCSVファイルを出力し、テキストエディターで開いた状態。I/O]タブが追加され、ここから作業を行える。エクスポートダイアログからは、出力範囲や区切り文字、文字コードなど各種設定が変更できるまずはエクスポート機能から確認しよう。リボンの[エクスポート]ボタンをクリックすると、専用のダイアログが現れる。あとは区切り文字や文字コードなどの設定を選択して、エクスポートを実行するだけだ。興味深いのは出力するセルの範囲を設定できる点。“選択したセル領域”を選ぶことで、選択したセル領域のみをCSV形式として出力することが可能だ。そのほかオプションとして、項目をダブルクォーテーションで囲むかどうかを指定できる。区切り文字としてカンマやタブ以外の文字も指定できるため、区切り文字としてスペースや『;(セミコロン)』を扱う形式などにも対応できる。文字コードや改行コードもダイアログにあるものから選択可能。文字コードは少ない印象も覚えるが、通常の利用範囲であれば、Shift-JISのほかにEUC-JPやUTF-8があれば十分だろう。こちらは“項目をダブルクォーテーションで囲む”チェックを外し、文字コードを“UTF-8”として指定したCSV形式ファイルをテキストエディターで開いたものインポートダイアログも基本的な構成は同じだが、数値を文字列として扱うオプションが用意されている文字列として扱うことで『001』といった先頭にゼロを含む数値も正しく認識されるインポート機能も同じようにダイアログから設定を行う方式だ。こちらは区切り文字や改行コード、文字コードの指定のほかに、“新規シートにインポートする”および“数値も全て文字列として扱う”という2つのオプションが用意されている。前者は文字どおりシートの処理だが、注目は後者。I/O」はセルを文字列として扱うことでこの問題を解決している。Excelの設定によってはエラーの警告が表示されてしまうが、こちらはExcelのオプションから“エラーチェックルール”を開き、“文字列形式の数値、またはアポストロフィで始まる数値”のチェックを外せば表示されない。I/O」だが、他の環境とデータ連係を行うためにCSV形式を利用している方には欠かせないアドインとなるのではないだろうか。