こんにちは、私はこのコードの大部分を持っていますが、ファイルの「ポップイン」が不足しているため、助けを求めています。
機能は次のとおりです。ユーザーがレポート フォームに入力すると、レポートが画面に表示されます。ユーザーには、クリックしてレポートを xls 形式でダウンロードし、ローカルに保存するための最後のオプションを含むボタンがあります。
<table><tr><td></td><tr></table>
スプレッドシートを戻すことができるように、xls を php として追加しました。
AddType application/x-httpd-php .xls
これは多くの場合かなり危険ですが、私の場合は不可欠でした (「スプレッドシート」はメモリ内で大きすぎて、HTML 疑似以外の方法で送信することはできませんでした)。それは断然、最も悪い選択肢ではありませんでした。
余談はさておき、データへのjQuery
ボタンを作成してから、ファイルをリンクのように「ダウンロード」したいのですが、これは実際には思ったより難しいです。もう 1 つのオプションは、文字列全体を取得することですが、それは私にとってあまりにも洗練されていません。post
response.xls
これが私がこれまでに持っているものです。
<button id="download">Download As Excel</button>
<script type="text/javascript">
$(document).ready(function () {
$('#download').button();
$('#download').click(function(){
$.post("response.xls",
$("form#sendform").serialize(),
function(data){
alert(data);
var win=window.open('about:blank');
with(win.document) {
open();
write(data);
close();
}
}
);
return false;
});
});
</script>
重要な部分は、ユーザーが既に選択した既存のオプションを再シリアル化することで機能することです。それは機能します:しかし、ポップアップウィンドウでファイルを「html」として開きます-これは間違っています。リンクであるかのようにダウンロードする必要があります。
どんなアイデアでも大歓迎です。私はこのトリックを頻繁に使用しますが、常にパラメーターのない静的な xls ファイルであることに注意してください (文字通り の場合<a href=\"report.xls\">Main Report</a>
)。したがって、これは著しく異なります。