@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

.NetでExcelへのファイル出力について

投稿者投稿内容
いのっち
会議室デビュー日: 2004/11/12
投稿数: 4
投稿日時: 2005-02-28 09:19
こんにちは。
さっそくですが現在下記の要求を満たす、webアプリの作成を行っています。
いろいろ調べてみたのですがわからないことがいくつかあるので
ご教授していただきたいと思い、投稿させていただきます。

・要求
1、DBからの取得したデータをExcelを使ってクライアント側で表示する。
2、表示するExcelファイルはデータを表示するだけでなく、
  シートの名前や枚数を変更したり、線や色などの表示する。
3、極力クライアント側の設定を少なくする。
4、ボタン押下などのアクションから直接、Excelを起動したい。

・試みた方法と結果
1、OLEDBでのExcelファイルへの出力。
  →シートは増やすことは出来たが、削除や線、色、名前の変更ができない。
2、データグリッドからのファイル出力。
  →大まかな線、色はデータグリッドから出力できるが、データグリッドが表示
   されていない場合表示できない。
3、CSVで出力し、Excelのマクロで展開する。
  →ファイルへの出力に問題はない。
4、サーバでのオートメーションの使用
  →パフォーマンスなどの問題はあるがファイルの作成については問題ない。

以上の方法を行いましたが1〜3番ではクライアント側で、Excelのオブジェクトを
作成しなくてはならず、IEのセキュリティの設定が必要になってしまします。
4番はダウンロードのメッセージボックスが表示されてしましますが、
そこは目をつむって現在は4番の方法が一番適しているのではないかと思うのですが
やはりサーバ側でオートメーションを使用する場合、やはりサーバにOfficeの
インストールは必要なのでしょうか?普通に考えて必要だと思うのですが、
うまくできないものかと考えています。
またExcelのインストールしているマシンでも一度IUSR_(マシン名)でマシンに
ログインして一度Excelを立ち上げないと動作しなかったのですが、
サーバ機ではIUSR_(マシン名)でログインしようとすると対話型ユーザではログインできないと言うようなエラーでログインすら出来ませんでした。
ですので
1、サーバへのOfficeのインストールの有無。
2、インストール後の設定。
3、クライアントでExcelオブジェクトを生成しつつ、IEのセキュリティを下げたり、
  変更しないですむ方法。
などをご存知の方がいらっしゃれば是非お願いします。

開発環境下記の通りです。
サーバ    → Windows2003サーバ
クライアント → WindowsXP,2000,98
使用言語   → VB.NET
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2005-02-28 09:37
引用:
4、サーバでのオートメーションの使用


ライセンスに違反するので、この方法は無理だと思います。
いのっち
会議室デビュー日: 2004/11/12
投稿数: 4
投稿日時: 2005-02-28 09:45
返信ありがとうございます。
この場合、サーバにインストールすれば問題ないということでしょうか?
Vacant-Eyes
ベテラン
会議室デビュー日: 2004/08/15
投稿数: 97
投稿日時: 2005-02-28 10:36
サーバサイドでのOfficeオートメーションを用いてクライアントに公開する場合、
Officeのライセンスがないクライアントにも公開できるという点で
ライセンス違反となります。

また、サーバから任意のマクロを実行できるので、セキュリティ上の問題もあります。
MSの情報
(代替策も載っています)

Excelの内容を見るだけであればExcel Viewerを使うのもいいかもしれません。
kanai
ベテラン
会議室デビュー日: 2004/09/13
投稿数: 98
投稿日時: 2005-02-28 10:36
サーバーサイドのOfficeオートメーションについては、下記に詳しく書かれています。

http://support.microsoft.com/kb/257757/JA/

が、Microsoftのサポートは一切ないのでご注意ください。

ライセンスについても上記に書かれています。
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2005-02-28 10:37
引用:
この場合、サーバにインストールすれば問題ないということでしょうか?


文面からライセンスに関して気にしていない(無頓着)なように(私には)見受けられるので、方法について何かを説明する気にはなれません。
Vacant-Eyes
ベテラン
会議室デビュー日: 2004/08/15
投稿数: 97
投稿日時: 2005-02-28 10:49
kanaiさんとかぶっちゃいましたね。
いのっち
会議室デビュー日: 2004/11/12
投稿数: 4
投稿日時: 2005-02-28 12:37
Vacant-Eyesさん、Kanaiさん、未記入さん
返信ありがとうございました。

ライセンスについては目を通したつもりで
サーバ側でファイルを生成して、クライアントにストリーム配信して
ダウンロードさせる方法ならばライセンスに違反することはないのでは
ないかと考えていたもので。。
たしかにライセンスについての意識が薄かったと実感しました。
すいませんでした。
その辺のあたりちゃんと理解した上でもう一度検討してみようと思います。
ありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)