画像つき Excel ワークブックを保存するときのぷち落とし穴

プロジェクトの他チームメンバーが作成したライブラリを使って、帳票を Excel ファイルとして保存するようコーディングを行っていた。実際の業務ではファイルへ保存せず、直接印刷してしまうかプレビューをするか、なのだけれど、開発途中ということで確認のためにファイルへ出力していた。

Excel.Worksheet.Shapes.AddPicture() メソッドを使用して画像を追加する。

実行時には何もエラーが出ないし Excel ファイルは作成されているのになぜか画像がない。どこにもない。

原因は Excel.XlFileFormat xlXMLSpreadsheet として保存していたことだった。この書式にはどうやら Shapes の情報は保存されないっぽい。

こんなことでほぼ1日つぶれてしまった。相談しようにも上司が休暇中だからな。