8

データを Excel にエクスポートする際にファイル名を変更するにはどうすればよいですか?

<div id="example" class="k-content">
    <button type="button"id="btnExport">Export to csv!</button>
    <div id="grid"></div>
</div>
<script>
$("#btnExport").click(function (e) {
    var result = "data:application/vnd.ms-excel,";

    window.open(result);

    e.preventDefault();
});
</script>

エクスポート ボタンをクリックすると、download.xls として取得されます。ファイル名をdata.xlsにすることはできますか?どこでそれを設定する必要があるかを説明してもらえますか?

4

6 に答える 6

10

カスタム ファイル名で HTML テーブルを Excel にエクスポートする例を次に示します: http://www.kubilayerdogan.net/javascript-export-html-table-to-excel-with-custom-file-name/

于 2013-03-28T05:18:44.630 に答える
3

私は同じ問題を抱えていました.新しいフォーマット(おそらくすべてのブラウザでサポートされていない可能性があります)以来、<a download=""></a>以下はうまくいきました. 送信フォームを使用すると大きなデータテーブルには重すぎるため、これは PHP サーバー部分なしで直接 HTML/Javascript を使用します。

  • <button>に変更<a>
  • もういやwindow.open()
  • 基本的な<a>動作を使用します (つまり、これ以上はありませんe.preventDefault()) に変更hrefdata:blablaて追加しdownload="filename"ます:
<div id="example" class="k-content">
    <a href="#" id="btnExport" >Export to csv!</a>
    <div id="grid"></div>
</div>
<script>
    $("#btnExport").click(function (e) {
        var result = "data:application/vnd.ms-excel,";
        this.href = result;
        this.download = "my-custom-filename.xls";
        return true;
    });
</script>
于 2013-07-11T12:30:33.773 に答える
1

クライアント側の JavaScript ではこれを行うことはできません。応答ヘッダーを設定する必要があります...

。ネット

Response.AddHeader("Content-Disposition", "inline;filename=filename.xls")

またはPHP

$filename = 'somehting.xls';

header('Content-Disposition: attachment; filename="'.$filename.'"');
于 2013-03-12T05:57:48.913 に答える