質問: 100 COMはサーバでの使用は認められてないのですね・・・勉強不足でした。 eoplusを使用してテンプレートのセルサイズを調整する方法で協議したいと思います。 ご回答ありがとうございました。
回答: 1. DPIが変わる理由 Windowsの標準DPIは96ですので、実行環境のディスプレイに125%の拡大が設定されている場合は120dpiとなります。おそらく`img.VerticalResolution`や`HorizontalResolution`の時点で想定の値と異なっているので、これを`Bitmap.SetResolution`メソッドで変更すればよいです。 ``` var img = (Bitmap)Image.FromFile(@"logo.png"); img.SetResolution(96, 96); ``` ただし上記は元画像のDPIが高い(サイズが小さい)分だけ拡大率を設定していたのを96dpi・100%に変更するだけですので、表示は変化しないと思います。 2. 縦横比が正しくない理由 ExcelのY座標系は特殊で、絶対座標ではなく「行」と「行内の位置」の組み合わせで表されています。この変換時に誤差や計算ミスが発生しているのでしょう。貼り付け先の行のサイズを変えると改善する場合があります。 なおASP.NETなどのWebアプリケーションでExcelのCOMオブジェクトを使用するのはライセンス違反とされているので避けるべきでしょう。またSystem.Drawing.dllもサポート対象外になることに留意してください。