匍匐前進日記

行政職で森林・林業にかかわってます。浅いIT知識(趣味の範囲)を使って楽しようと思ってます。So-netから移行してきました(20160620)。移行前のは20100107~。記事は時々加筆修正することがあります。

Excel2007でdbfファイルの編集・保存ができない

昨日、職場の同僚に頼まれていろいろArcViewで作業していたのですが、 その中で気づいたこと。 Excel2007ではdbfファイルが保存できないようです。 フィールドの追加やフィールド名の変更をして保存したかったのですが、 ファイル形式でdbfを選択できませんでした。 ググって見たらやはり同じ質問をしている人がいて、 回答者は古いバージョンのMS-Officeをいれろ、とか書いてました。 めんどくさいのでOpenOfficeを入れてみたら、 カルクを使うと思ったとおりdbfが読み書きできました。 文字コードの指定が間違ってたのか、 編集・保存後にArcMapで日本語がうまく表示できません。 フィールド名だけならエイリアスをいじれば問題ありませんが、 フィールドの値が表示できない場合は困ります。 このあたりはもう少しコツがいるような感じです。 なんでExcelでdbfのサポートをやめたのかが不思議。 ==== (その後わかったこと) OpenOfficeのCalcを使うとファイル形式は保たれますが、 フィールド名がおかしくなります。 dbf000.jpg ↑Calcでdbfファイルを開いたところ。フィールド名にフィールドの属性がくっついてます。 dbf001.jpg ↑ためしに「備考2」の列(フィールド)を追加して値に適当な文字列を入れて上書き保存します。 dbf002.jpg ↑ArcViewで属性テーブルを表示させてみると、フィールド名がおかしくなってました。 文字コードをシフトJISに設定してもフィールド名は関係なく壊れます。 このままだとアークビューで凡例作るとき、エイリアス設定したり面倒。 試しに同じOpenOfficeのデータベースを使ってみたら(余計なファイルができますが)壊れませんし、「テキストで15文字」といった属性もきちんと設定できました。 「既存のデータベースに接続」して開くと、dbfファイルが「テーブル」として表示されます。 MSアクセスとか触ったことがある人なら編集も戸惑うことないんじゃないでしょうか。 dbf003.jpg ↑左の列の上から3つ目に「データベース」があります。 dbf004.jpg ↑「既存のデータベースに接続」を選択してプルダウンメニューで「dBASE」を選択 dbf005.jpg ↑dbfファイルのあるフォルダを選択 dbf006.jpg ↑「新規データベース」として保存します。 dbf007.jpg ↑自動的にdbfファイルが「テーブル」として読み込まれます。 dbf008.jpg ↑「テーブル」ペインの右側にプルダウンがあるので「ドキュメント」を選択するとテーブルの内容が表示されます。 dbf009.jpg ↑編集したいテーブルを右クリックして「編集」を選択すると編集ウィンドウが開きます。 dbf010.jpg ↑「備考」フィールドを追加してテキスト属性を設定しました。 dbf011.jpg ↑下の欄でフィールドの長さを設定できます。テキストは半角で254文字が上限みたいです。 dbf012.jpg ↑テーブル編集ウィンドウを閉じると変更後のドキュメント内容が表示されています。「備考」フィールドがちゃんと表示されています。 dbf013.jpg ↑データベースを保存してArcViewで属性テーブルを表示してみるとちゃんとフィールド名が表示されてますし、「備考」フィールドも追加されています。 OpenOffice、かなり使えますね。ビックリです。