Excelファイルから画像を取り出す†
Excelファイルにある図を、なるべく劣化せずに画像として取り出す方法を調べた文章です
ただ今更新中
Excel 97-2003 ブック (*.xls) の場合†
Office2007・2010†
- 全ての図のサイズ(拡大/縮小)を縦100%・横100%にします
- ファイルの種類を「Excel ブック (*.xlsx)」形式で保存します
- ファイルの拡張子を「.zip」にして、zipファイルとして解凍します
- 解凍された内容に「xl\media」というフォルダがあり、その中に画像があります
OfficeXP・2003†
- Excelファイルの保存で「Excel 2007 ブック (*.xlsx)」を選べるか確認します
選べない場合は以下のWebページから「Microsoft Office 互換機能パック」をダウンロードしてインストールします。
ダウンロードの詳細 : Word/Excel/PowerPoint 用 Microsoft Office 互換機能パック
これをインストールすると、OfficeXP(2002)・2003で、Offece2007以降から採用された新形式のファイルの読み込み・保存が出来るようになります。
- すべての図のサイズ(倍率)を縦100%・横100%にします
- ファイルの種類を「Excel 2007 ブック (*.xlsx)」で保存します
- ファイルの拡張子を「.zip」にして、zipファイルとして解凍します
- 解凍された内容に「xl\media」というフォルダがあり、その中に画像があります
Excel 2007-2010 ブック (*.xlsx) の場合†
- ファイルの拡張子を「.zip」にして、zipファイルとして解凍します
- 解凍された内容に「xl\media」というフォルダがあり、その中に画像があります
調べた事†
上記の結論を出すのに調べた内容を書いておきます。
- xlsxは拡張子を「zip」にすれば、zipファイルとして解凍でき、内部で保持している画像を取り出す事が出来る
- Excel上で図のサイズを調整しても、元の画像のクオリティは内部で保持している
しかし図の圧縮をしたり、xlsからxlsxにして保存を行うと、現在のサイズが100%と見なされて保存されるため、画像のクオリティが失われる
- ファイルの種類をhtmlで保存した際に生成される画像は、図のサイズに影響する
元の画像と微妙に違う大きさの画像が作成されるため、厳密に言うとこの方法では元のクオリティを再現出来ていない
さらにこの方法だとhtmlで表示するための縮小画像も一緒に保存されるため、分別が面倒になる
- xlsx形式で画像を図として貼り付けした際に、サイズ指定が変換する
貼り付けた直後はサイズが100%なのに、再度ファイルを開くと違うサイズになっている(私の所では229%になってたりする)