- 締切済み
画像データの表示方法
プログラムじゃないですが。 Oracle内にロングバイナリで画像データが保存されております。 これをエクセル上に画像で表示させたいのです。 どのようにすれば可能なものでしょうか・・・。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- fumufumu_2006
- ベストアンサー率66% (163/245)
回答No.3
ANo.2です。 すみません。 oracleについてはわからないので、どなたかわかる方にお願いします。
- fumufumu_2006
- ベストアンサー率66% (163/245)
回答No.2
ANo.1です。 どういう形式でDB内に書き込んであるのかがわらないのですが、とりあえず適当なファイル名で書き出して読み込めるか試してください。 ファイルと同じ形式で書き込んであれば、自動的にjpgと判断してくれます。 Oracle無いので、b(dim b() as byteで定義されたバイトデータ)に読み込んだ時点とします。 fh = FreeFile Open "c:\test.jpg" for binary as #fh Put #fh,,b Close #fh Sheet1.Pictures.Insert("c:\test.jpg") 表示しますか?
- fumufumu_2006
- ベストアンサー率66% (163/245)
回答No.1
画像の形式がわからないのですが・・・ 1.一度ファイルに書き込んで、Sheet1.Pictures.Insert("ファイル名")とかする。 2.WindowsのAPIでクリップボードにデータを書き込んで、クリップボード経由でpasteする。 他にスマートな方法があれば別ですが、とりあえず間違いないのは1だと思います。
質問者
補足
ごめんなさい、この「一度ファイルに書き込む」方法が分からないのです・・・ DB内ではロングバイナリで保持しており、これをどうやって画像形式でファイル保存するものでしょうか? すみません、形式はjpgでした。引き続きお願い致します・・・
補足
本当に何度もごめんなさい。 この「適当なファイル名で書き出す」方法がどうしてもわからないのです。 エクセルへのペーストの話は外して、単に「DB内に格納されたJPGの画像データをファイルに書き出す方法」がわかれば後はなんとかなりそうなんですが…申し訳ないです。 SI OBJECT BLOWSERでDB内の格納データを見たところ、 00 03 A0 B0 90 00 00 00 00 00 23 44 90 00 00 00 ・・・・・・のような感じで格納されているようです。 JPGのデータですよねこれ。 これをSQL*PLUSでSELECT文組んで抽出しようとすると F とこれだけしか表示されません(;; ちなみにSELECT文は select (カラム) from (テーブル) where (条件); ってこれだけなんですが、なんか形式指定とかする必要があるのでしょうか…。