C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[9]: asp.netでサーバ上のファイルを開きたい


(過去ログ 84 を表示中)

[トピック内 11 記事 (1 - 11 表示)]  << 0 >>

■49832 / inTopicNo.1)  asp.netでサーバ上のファイルを開きたい
  
□投稿者/ 初心者1号 (5回)-(2010/05/19(Wed) 13:46:47)

分類:[.NET 全般] 

2010/05/19(Wed) 13:53:56 編集(投稿者)
2010/05/19(Wed) 13:53:51 編集(投稿者)

開発環境 windows xp, windows server 2003, microsoft web developer 2010 express
使用言語 vb.net

asp.netでサーバ上のエクセルファイルを開きたいです。
Server.MapPath("App_Data/日記.xls")
とやると、目的ファイルまでのパスは取得できましたが、それを開くにはどうすればよいでしょうか?
開いたエクセルファイルは、編集して保存します。
エクセルファイルは共有フォルダ内にあります。
引用返信 編集キー/
■49833 / inTopicNo.2)  Re[1]: asp.netでサーバ上のファイルを開きたい
□投稿者/ aetos (293回)-(2010/05/19(Wed) 13:53:15)
No49832 (初心者1号 さん) に返信
> 開発環境 windows xp, windows server 2003, microsoft web developer 2010 express
> 使用言語 vb.net
>
> asp.netでサーバ上のエクセルファイルを開きたいです。
> Server.MapPath("App_Data/日記.xls")
> とやると、目的ファイルまでのパスは取得できましたが、それを開くにはどうすればよいでしょうか?

普通に File.OpenRead なり File.OpenWrite なりで開けますよ。
…って、お望みの答えじゃない気がしますね。
そのファイルを開いて何がしたいんです?
引用返信 編集キー/
■49834 / inTopicNo.3)  Re[1]: asp.netでサーバ上のファイルを開きたい
□投稿者/ 魔界の仮面弁士 (1652回)-(2010/05/19(Wed) 14:59:33)
No49832 (初心者1号 さん) に返信
> asp.netでサーバ上のエクセルファイルを開きたいです。
複数のセッションから同時に編集させる事が無いよう、排他制御も必要ですね。

> 開いたエクセルファイルは、編集して保存します。
Excel ファイルを直接編集するための ASP.NET 用ライブラリは標準では用意されていません。
選択肢としてはこのあたり。

・Jet OLE DB Provider 経由で編集する。(簡単なテキスト編集ぐらいはできますが、高度な操作はできません)
・xls のバイナリを直接操作する。(ファイル仕様は公開されているが、工数を考えると現実的では無い)
・xls の読み書きに対応したサードパーティ製品を使う。(SpreadsheetGear, ExcelCreator 等)
・Excel 本体をオートメーション操作する。(不可能ではないが、ASP.NET からの利用は問題が多い)
・xls 以外のフォーマットに切り替える。(xml, csv 等)
引用返信 編集キー/
■49835 / inTopicNo.4)  Re[2]: asp.netでサーバ上のファイルを開きたい
□投稿者/ みきぬ (893回)-(2010/05/19(Wed) 15:03:25)
> 選択肢としてはこのあたり。
>
追加の選択肢として、いっそ SharePoint Server を導入しちゃう、とか。
引用返信 編集キー/
■49837 / inTopicNo.5)  Re[4]: asp.netでサーバ上のファイルを開きたい
□投稿者/ みきぬ (894回)-(2010/05/19(Wed) 17:49:58)
2010/05/19(Wed) 17:52:10 編集(投稿者)

※書いている間に引用元の発言が消えていたけど、自分の回答を補足する意味で残しておきます。

No49836 (魔界の仮面弁士 さん) に返信
> ■No49835 (みきぬ さん) に返信
> >>選択肢としてはこのあたり。
>>追加の選択肢として、いっそ SharePoint Server を導入しちゃう、とか。
>
> Excel Services って、読み取り専用ではありませんでしたっけ?

サーバ上にある Excel ファイルを、Excel で(もしくは Excel を利用して IE で)開いて編集したいのかなと思ったんですね。
もしそうなら、Excel ファイルを共有フォルダに置くかわりに、SharePoint サイトの共有ドキュメントに置いて管理すればいいんじゃないかな、と。
Excel で編集もでけるし、排他制御は SharePoint が面倒みてくれるし(チェックイン/アウト)

もちろん、まるっきり的外れかもしれませんけどね。

引用返信 編集キー/
■49839 / inTopicNo.6)  Re[5]: asp.netでサーバ上のファイルを開きたい
□投稿者/ 初心者1号 (1回)-(2010/05/19(Wed) 21:00:53)
すみません、うまく伝わっていなかったようです。
サーバ上のエクセルファイルを、クライアントパソコンにインストールされているエクセルから開きたかったのです。

引用返信 編集キー/
■49841 / inTopicNo.7)  Re[6]: asp.netでサーバ上のファイルを開きたい
□投稿者/ Jitta on the way (640回)-(2010/05/19(Wed) 21:22:41)
2010/05/19(Wed) 21:24:18 編集(投稿者)

No49839 (初心者1号 さん) に返信
> すみません、うまく伝わっていなかったようです。
> サーバ上のエクセルファイルを、クライアントパソコンにインストールされているエクセルから開きたかったのです。
>

クライアントにダウンロードさせて、クライアント上で編集して下さい。その後、アップロードします。

Share Point Server を使うと、プログラムや操作が簡略化出来るんじゃないかな?
#スペルミス修正
引用返信 編集キー/
■49864 / inTopicNo.8)  Re[7]: asp.netでサーバ上のファイルを開きたい
□投稿者/ 初心者1号 (6回)-(2010/05/21(Fri) 08:05:08)
色々ありがとうございました。
調べてみたら、以下のようにやって、javascriptで開けました。

    <script language="javascript" type="text/javascript">

        function Button1_onclick() {

            var xlApp = new ActiveXObject("Excel.Application");
            xlApp.DisplayAlerts = false;
            xlApp.Visible = true;
            xlApp.Workbooks.Open("\\\\server\\App\\App_Data\\test.xls", 0, false);

        }
    </script>

解決済み
引用返信 編集キー/
■49867 / inTopicNo.9)  Re[8]: asp.netでサーバ上のファイルを開きたい
□投稿者/ aetos (296回)-(2010/05/21(Fri) 10:09:03)
No49864 (初心者1号 さん) に返信
> 色々ありがとうございました。
> 調べてみたら、以下のようにやって、javascriptで開けました。
>
> <script language="javascript" type="text/javascript">
>
> function Button1_onclick() {
>
> var xlApp = new ActiveXObject("Excel.Application");
> xlApp.DisplayAlerts = false;
> xlApp.Visible = true;
> xlApp.Workbooks.Open("\\\\server\\App\\App_Data\\test.xls", 0, false);
>
> }
> </script>
>

それだと、サーバーのファイルがクライアントからファイル共有で直接見える場合にしか使えません。
http 経由で不特定多数に使ってもらうにはそれじゃダメですね。
引用返信 編集キー/
■49869 / inTopicNo.10)  Re[9]: asp.netでサーバ上のファイルを開きたい
□投稿者/ hase (1回)-(2010/05/21(Fri) 10:20:55)
ねぇ、asp.netはどこへいったの…
引用返信 編集キー/
■49870 / inTopicNo.11)  Re[9]: asp.netでサーバ上のファイルを開きたい
□投稿者/ 初心者1号 (7回)-(2010/05/21(Fri) 10:37:27)
> それだと、サーバーのファイルがクライアントからファイル共有で直接見える場合にしか使えません。
> http 経由で不特定多数に使ってもらうにはそれじゃダメですね。

今回はファイルサーバでファイル共有している場合なのでOKでした。
どうもありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -