DOBON.NET DOBON.NETプログラミング掲示板過去ログ

SVGファイルをExcelに貼り付け

環境/言語:[XP C# .NET Framework1.1]
分類:[ASP.NET]

普段は参考にさせてもらってますが、投稿は初めてです、宜しくお願いします。
サーバー側である雛形のExcelファイルから、SVGファイルを貼り付けて、クライアント
にダウンロードする処理を作成しているのですが、SVGファイルを貼り付ける処理につ
まずいています。
テキストボックスの配置、セルに文字を入力するといった、基本的な処理は実行で
きました。
また、Excel側で、[挿入]->オブジェクト->ファイルから->*****.svgとすれば
貼り付けることができるので、ASP.NETで制御できると思っているのですが
SVGファイルの実態はベクトルデータで、純粋に画像データでは無いので、貼り付けた
としても、中身のテキストが表示されるだけなのでしょうか?

開発環境は
・Windows2000
・Visual Studio .NET 2003
・Office XP

参考までにソースを載せておきます。

// Excelアプリケーションのオブジェクト作成
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlBook;
Excel.Worksheet xlSeet;

xlBook = xlApp.Workbooks.Open(MsFile, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);

object oSVG;
object[] Parameters;
xlSeet = (Excel.Worksheet)xlBook.Sheets[1];
oSVG = xlSeet.OLEObjects(0);
Parameters = new Object[2];
Parameters[0] = "Filename:=" + @"C:/temp/sample.svg";
Parameters[1] = "Link:=False";
Parameters[2] = "DisplayAsIcon:=False";
oSVG.GetType().InvokeMember
("Object",System.Reflection.BindingFlags.GetProperty,null,oSVG,Parameters);

xlBook.SaveAs(OutFile, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing,Excel.XlSaveAsAccessMode.xlExclusive,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

// 生成したオブジェクトにnullを代入
xlSeet = null;
xlBook = null;
xlApp.Workbooks.Close();
xlApp = null;
oSVG = null;
Parameters = null;

ご教示宜しくお願いします。
■No8176に返信(雪之丞さんの記事)
> 普段は参考にさせてもらってますが、投稿は初めてです、宜しくお願いします。
> サーバー側である雛形のExcelファイルから、SVGファイルを貼り付けて、クライアント
> にダウンロードする処理を作成しているのですが、SVGファイルを貼り付ける処理につ
> まずいています。

SVGファイルというものがどのようなものかわかりません。
「SVG」とはなんでしょうか?

以下、拡張子辞典(http://e-jts.com/~cyberidoc/ext/ext3s.html)より引用
--ここから--
svg (Adobe SVG Document)
Adobe社が提唱した、ベクターデータをHTML上に表示するためのフォーマットです。表示させるには同社のプラグインである「Adobe SVG Viewer」が必要になります。中身はSGMLに酷似したタグ付きテキストファイルです。
--ここまで--

これでしょうか?

もうひとつ確認させてください。
クライアント、サーバ、ダウンロードというキーワードが出ていますが、
あくまでも「クライアント−サーバ型のシステム」なのでしょうか。
それともASP.NETなどのWebアプリケーションなのでしょうか。

もう少し情報をください。
よろしくお願いいたします。
>Moo様
お返事有難うございます。

>SVGファイルというものがどのようなものかわかりません。
>「SVG」とはなんでしょうか?
はい、Moo様が仰る通り、「SVG」とはAdobe社が提唱した、ベクターデータをHTML上に
表示するためのフォーマットファイルのことです。

>クライアント、サーバ、ダウンロードというキーワードが出ていますが、
>あくまでも「クライアント−サーバ型のシステム」なのでしょうか。
ASP.NETのWebアプリケーションです。
IISのサーバ側で雛形のExcelファイルを操作しまして、別名でExcelファイルを保存を
行い、ダウンロードのダイアログボックスを表示させ、ユーザに任意で出来上がっ
たExcelファイルをダウンロードするような処理です。

説明が不十分で申し訳ありませんでした。
SVGファイルに関する情報が少なく、四苦八苦しています。
申し訳ありませんが、ご教示ください。

DOBON.NET | プログラミング道 | プログラミング掲示板