2

SQL Serverプル(通常は使用しますSqlDataReaderが、提案を受け付けています)からExcel / CSVファイルにデータをエクスポートし、Webアプリのユーザーにダウンロードとして取得してもらいたいと思います。

ダウンロードをクリックしてもリロード/ポストバックが発生しないように、このAJAXスタイルを実行したいと思います。

誰かが以前にこれをしたか、どのようにアイデアを持っていますか?

4

1 に答える 1

1

このメカニズムはうまくいくと思います。

クリックするとjavascript関数を呼び出すHTMLボタンがあります。

<input id="downloadbtn" type="button" value="Download" onclick="download();" />

関数は次のようになります。

var download = function() {
  $.ajax({
  url: "datamaker.aspx",
  context: document.body
  }).done(function(data) { 
    //  parse response data, get file path
    var filepath = ParseDataToGetFilePath(data);

    // open the csv file path in a new window (which will begin download)
    window.open(filepath, '_blank');
  });

};

サーバーサイドでは、「datamaker.aspx」がSQL Serverに接続し、CSVファイルを作成する必要があります。CSVファイルの作成は、streamwriterを使用して他のファイルを作成し、フィールド間に「カンマ」を書き込むのと同じくらい簡単です。このページの最後に、応答xmlまたはjsonのいずれかでファイル名を出力します。

     { filepath: \path\datafile.csv }
于 2012-10-23T18:26:32.633 に答える