ASP.NET MVCアプリケーションで、AJAXをサポートするExcelファイルを実現しますはじめに
Webアプリケーションでは、フォームデータを含むExcelファイルを生成する必要があるかもしれませんが、UIの残りの部分に影響を与えたくありません。この時点で、Ajax(非同期JavaScriptとXML)が役立ち、ページ全体を再ロードせずにサーバーと対話することができました。この記事では、ASP.NET MVCアプリケーションでAJAXベースのExcelファイルのダウンロードをダウンロードする方法について説明します。
サーバー側のファイルは
を生成します
AJAXを直接ダウンロードしてファイルをダウンロードできないため、AJAXを使用して関連データをサーバーの交換メソッドに送信できます。サーバーは、epplusまたはnpoiおよびその他のライブラリを使用して、Excelファイルを作成します。
ファイルを生成した後、Ajax応答としてファイルパスまたはファイル名を返すことができます。 Ajax関数は、このパスまたはファイル名を使用して、処理ファイルのダウンロードの対応する操作をやり直します。
ajaxは
を呼び出します
クライアントAJAXコールは、フォームデータをサーバー側の操作に公開します。成功した後、応答としてファイルパスまたはファイル名を受信し、ユーザーをダウンロード操作にリダイレクトします。
操作をダウンロード
ダウンロード操作は、サーバー上の指定された位置からファイルを検索し、ダウンロードのためにブラウザに戻します。
<code class="language-javascript">$.ajax({
type: 'POST',
url: '/Reports/ExportMyData',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (returnValue) {
window.location = '/Reports/Download?file=' + returnValue;
}
});</code>
ajaxに基づくダウンロードの利点
シームレスなユーザーエクスペリエンス:ファイルのダウンロードプロセスは、ユーザーが現在のページを離れる必要がないため、透明です。
<code class="language-csharp">[HttpGet]
public virtual ActionResult Download(string file)
{
string fullPath = Path.Combine(Server.MapPath("~/MyFiles"), file);
return File(fullPath, "application/vnd.ms-excel", file);
}</code>
最適化されたサーバーリソース:物理ストレージの代わりにファイルをtempDataに保存することにより、サーバーメモリを保存し、クリーニングルーチンの需要を排除できます。
以上がASP.NET MVCアプリケーションでAJAX対応のExcelファイルのダウンロードを実装する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。