ftp サイトから直接メモリ ストリームに Excel ファイルをロードしたいと考えています。次に、OpenExcel(Stream) メソッドを使用して、FarPoint Spread コントロールでファイルを開きたいと考えています。私の問題は、ファイルをメモリに直接ダウンロードできるかどうかわからないことです。これが可能かどうか知っている人はいますか?
質問する
57045 次
3 に答える
40
はい、FTP からメモリにファイルをダウンロードできます。
FTP サーバーから Stream を渡して FarPoint で処理することもできると思います。
WebRequest request = FtpWebRequest.Create("ftp://asd.com/file");
using (WebResponse response = request.GetResponse())
{
Stream responseStream = response.GetResponseStream();
OpenExcel(responseStream);
}
WebClient を使用すると、ほぼ同じことができます。一般に、WebClient を使用する方が簡単ですが、構成オプションと制御が少なくなります (例: タイムアウト設定なし)。
WebClient wc = new WebClient();
using (MemoryStream stream = new MemoryStream(wc.DownloadData("ftp://asd.com/file")))
{
OpenExcel(stream);
}
于 2013-10-30T15:16:19.640 に答える
24
WebClient.DownloadDataを見てください。ファイルディレクトリをメモリにダウンロードでき、最初にファイルに書き込む必要はありません。
これはテストされていませんが、次のようなものです。
var spreadSheetStream
= new MemoryStream(new WebClient().DownloadData(yourFilePath));
OpenExcel
ただし、ストリームをメソッドで直接使用できるかどうかについては、FarPoint には詳しくありません。オンラインの例では、メソッドが aFileStream
で使用されていることが示されていますが、あらゆる種類のStream
が受け入れられると思います。
于 2013-10-30T15:22:37.073 に答える