- - PR -
[ASP.NET]Office連携
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-04-26 12:56
いつも拝見しています。
現在ASP.NETでサーバーサイドでExcelファイルを作成し、クライアントへダウンロードする アプリを運用しているのですが、Officeオートメーションを使用しているせいかaspnet_wp.exe が非常に不安定です。『予期せぬ停止』をしたり、状態サーバと接続が切れたり。 元々、マイクロソフトが推奨なし+サポート外の方法なのですが、顧客よりの要望でExcelを 作成しています。XML形式にしたりと考えていたのですがシート分けが出来ないなど問題点 も多いです。 この会議室では色々とASP.NET+Excelの話題が出ていますが不安定になったりはしていないで しょうか?こちらの実運用としては1日で100ファイル程度作成されています。 稼動後の状況やオートメーション以外での対応等ありましたら教えてください。 | ||||
|
投稿日時: 2004-04-26 13:04
NAL-6295です。 ExcelCreater For .NETを利用されてはどうでしょうか。 安定していて、高速です。 僕も、COMを利用して実装していましたが、現在はこちらに乗り換えています。 ちなみにASP.NETで利用する時は、開発ライセンスとは別にサーバライセンスが必要です。 [ メッセージ編集済み 編集者: NAL-6295 編集日時 2004-04-26 13:06 ] | ||||
|
投稿日時: 2004-04-26 14:34
こんにちは、お話に割り込んで申し訳ありません。
教えていただきたいのですが、 お話の中にASP.netのサーバサイドで、Officeのオートメーションを使うとありますが、 どうしたら、そのASP.netとOfficeの連携ができるのでしょうか? サーバサイドということは、webサーバにOfficeをインストールして、VisualStudioで参照設定して使うといったイメージでしょうか? という質問をしたのは、当方もクライアント側でIEの中にOffice(今はOffice2000のWord、Excel、PowerPoint)を実行させて使いたいという要望(開発 )があるからなのです。 もちろんクライアントにはOffice2000がインスト済みの環境です。 (ファイルをダウンロードして別に立ち上げればいいといえばそれまでなんですが、画面を上下にフレームできって上側にword,excelを表示し、下側にASP.NETで作成したコントロールの情報を上側に貼り付けしたり、編集させたいからです) OfficeのWebコントロールもありましたが、これではちょっと機能不足過ぎていて使えないので、本物?のWord、excelが使えたらなぁと思っているしだいです。 Windows2003+WSSという手もありますが、これは費用がかかってしまって・・・ ご教授いただけましたら、よろしくお願いします。(長文すいません) | ||||
|
投稿日時: 2004-04-26 16:16
NAL-6295です。
過去ログが豊富です。検索しましょう。 スレッドディレクトリなんかも便利です。 http://www.atmarkit.co.jp/fdotnet/index/bbs/dir62.html | ||||
|
投稿日時: 2004-04-26 16:54
NAL-6295さま
返答いただきありがとうございました。 自分で検索する基本を失念しておりました。m(__)m 早速調べてためしてみます。 ありがとうございました。 | ||||
|
投稿日時: 2004-04-27 17:51
こんにちは、恥上書きついででもうひとつ質問させてください。
先のスレッドに書き込みさせていただいた件関連ですが、 IEのウインドウの中に上下フレームをきって、 上フレーム側にWord、Excel、PowerPointを表示(URLやファイルパスは固定)して、 下フレーム側にはコントロールを張ったWebページを表示させています。 (サーバ側でオートメーションとかは使っていません) しかし、上フレームのWord、Excel、PowerPointのメニューの表示(アイコンとか) が隠れていて、CTRL+Sとかのキーを使わないと内容が保存できません。 逆にフレームを使わなければIEのメニューを隠してOfficeのメニューがでてきます。 これは表示時に何とかメニュー制御できないものでしょうか? JavaScriptとか使えばできるのでしょうか? ちなみに、表示をしてからメニューバー(アイコン)を追加することは 手動でもできます、ですが設定を覚えてくれません。 環境は サーバ側:Windows2003server+ASP.NET クライアント側:WindowsXp+IE6.0+Office2000 です。 知っておられる方がいらっしゃいましたらよろしくお願いします。 | ||||
|
投稿日時: 2004-04-28 19:23
ご参考までに
私もASP.NETでサーバーサイドで帳票をExcelファイル出力する機能を開発し、 既に運用しているのですが、問題が発生し回避策が見出せなく困っています。 この問題調査で判明したのですが、サーバサイドでのOfficeオートメーション は、マイクロソフトが推奨なし+サポート外の方法でありました。 しかしながら、既に運用しておりExcelCreaterで作り直すことは現時点では 難しいところです。 以下がその問題の内容です。 ASP.NETで開発した業務アプリケーションで excel出力機能があります。 以下のofficeのアップデートを行ったところ、 (MS03-050 : Word、Excel の重要な更新 http://www.microsoft.com/japan/security/security_bulletins/ms03-050e.asp ) それまで正常だったexcel出力処理の改ページ関数処理で「HRESULTからの例外 0x800A03EC」 のエラーが発生するようになった。 ------------エラー発生する処理(★:箇所)-------- '改ページ位置セット Public Sub Excel_PageBreak_Set(ByVal pPage As Integer, ByVal pRow As Integer) Dim pSheet As Object = gEXCEL.ActiveSheet ★gEXCEL.activeSheet.HPageBreaks.add(before:=gEXCEL.activesheet.Range("A" + CStr(pRow))) End Sub OS:Windows 2000 Server 対象製品:Microsoft Excel 2002 Microsoft Excel 2000 | ||||
|
投稿日時: 2004-04-28 21:21
NAL-6295です。
ASP.NETという事であれば、サーバのアプリケーションのみ置き換えれば済む話なので、みっちりテストした後に・・・ ・ユーザに通知して置き換える。 ・運用時間外に置き換える。 といった事はできないのでしょうか? 例外が発生して動作しないよりは有意義だと思います。 ただ、前の投稿にも書いたのですが、ExcelCreaterは開発ライセンスの他にASP.NETの場合サーバライセンスが必要なので、ユーザ側の了解を得るのが大変かもしれませんが・・・。 |