20210325のHTMLに関する記事は1件です。

【発想の転換・・・ならず】Excel設計書に新たな可能性を見出した。htm 保存で良いんじゃないですか?と思ったら駄目だった。

設計書作成ツールの現状は?

システム開発時に設計書を作成していますか?そのとき何のツールを使っていますか?
おそらく下記のいずれかではないでしょうか。※調査したわけではなくQiita記事を読んだ印象と経験と独断です。

・Excel
・Word
・Markdown記述(VS Codeで書くのかな?)

私はExcelを使っています。便利ですよね、直感的にかけて編集の自由度も高く、絵も自由に貼れる。
実績もあるし、どのPCにもインストールされていることがほとんど。
しかしQiitaの記事を調べると以下の論調があります。

Excelによる設計書を止めたい

Excelによる設計書を止めたい理由

理由はGitなどのバージョン管理ツールで管理しづらいからです。一番多い理由です。これはWordも同じです。

Excelの保存ファイル拡張子である「xlsx」はバイナリファイルです。
そのためバージョン管理ツールに入れることはできますが、変更毎にリポジトリのデータ量が急激に増えるのです。
例えば10MBのExcelファイル内に誤字があって一文字変えた場合でも、バージョン管理ツールで差分を取ると10MB分全部変更があるとみなされてしまうのです。

またバージョン管理ツールを使えないため、変更場所の特定もできません。
※他にも理由があるかもしれませんが、それは今回置いておきます。

新たな可能性→「xlsx 保存をやめて、htm 保存をしましょう」

諸悪の根源は「xlsx」がバイナリであることです。
それならば「xlsx」を止めましょう。その代わりに以下にしてしまえば良いのではないでしょうか。

・Excelを「xlsx」では保存せずに「htm」で保存する。
・Excelで「htm」を直接編集する。

htmはテキストデータです。
バージョン管理ツールと相性が良いです。
Excel内の絵もpngとして別フォルダに格納され、リンクも保持されます。

Excelで「htm」編集できるの? → めっちゃ簡単です。

これは実際にやってみたほうが良いでしょう。以下はExcel 2016で行ったものです。
まずは以下のような既存のxlsxファイルをhtmに変換しましょう。

image.png

ファイル→名前を付けて保存→「このPC」でダブルクリック

image.png

ファイルの種類から「Webページ」を選ぶだけです。

image.png

こんな感じでhtmファイルとfilesフォルダが作成されます。
filesフォルダには絵のファイルやシートが入っていますね。

image.png
image.png

一度Excelを閉じてから、再度Excelを開いてこの作成されたhtmを開いてみましょう。
どうでしょうか。xlsxとの違いは背景のグリッド線ぐらいですね。なんとシートまで再現されています。

image.png

もちろん編集もできます。やってみましょう。
以下のように作成日を変えたり、4~11行目を色々変えてみました。普通のExcel操作と一緒の感覚で編集できます。
一点注意、「A起動」等のボタンはpngの絵として取り込まれているため、この文字列を変えることはできません。

image.png

ここまでで使える可能性は感じていただけたと思います。
ただ、実は致命的な落とし穴があったのです。大変残念です。

htm保存の落とし穴ありますか? → 致命的なやつ、あります。

落とし穴は、画像ファイルのファイル名が保存するたびに代わることです。
まず現在の画像フォルダ内のファイルが以下だとします。

image.png

そしてExcel上でただ「上書きボタン」を1回押します。すると以下になります。
img002が005に変化し、それ以外にもちょこちょこと変わっています。実に謎な現象です。
この動きのせいで希望は絶望へかわりました。私のワクワクを返せ!

image.png

それ以外にも、htmファイルの中身が結構変わってしまっています。
謎の暗号があり、それがごっそり変更されて結局差分量が大きいです。
下図はGitではなく、Mercurialでバージョン管理した時の差分の絵です。
右下が謎の暗号。先頭に「-」がついているのは、これは以前のバージョンから削除されたことを意味します。

image.png

落としどころ → 絵をほとんど使わないなら良い方法でしょう。

以下のように、絵がないExcelでhtmの差分を見てみました。
以前はボタンを表すのにExcelの図形を使っていましたが、今回は罫線とセルの色塗りだけです。

image.png

その時のMercurialによる差分は以下です。
前のような意味不明な暗号文は消えました。良かった。ただちょとした変更でもちょこちょこ差分が出てしまっています。
絵の中央下のバーで紫に塗られた部分が変更部分です。意外と多いな。ただテキストの差分なら大したデータ量にはならないでしょう。

image.png

htm保存のExcel設計書としての使い道

Excelに絵を含めない場合はとても良い方法です。
なぜならExcelによる柔軟な編集機能を使いつつ、バージョン管理ツールでも管理しやすいためです。いいとこどりです。
まさにドラゴンクエスト2の「破壊のハヤブサの剣」レベルの強力な方法です。
さらに、参照したいだけの人はブラウザでブックマークに登録するだけでExcelロックなしで簡単に確認できます。

逆にExcelに絵を使う場合はお薦めしません。絵ファイルの管理でバージョン管理でデータの肥大化が起こるためです。

試したい方はどうぞお使いください。
ちなみにhtmからxlsx保存もできるようです。どこまでうまくいくかは未知数です。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む