當前位置:
首頁 > 知識 > ajax提交json數據返迴文件流下載excell

ajax提交json數據返迴文件流下載excell

ajax非同步無法返回下載文件

可以通過添加from表單隱藏域的方式實現。

另外也想過直接js調用excell插件來生成文件學藝不精放棄了。

Require:

$(".feedback.button").click(function{
var form = $("

");
form.attr("style", "display:none");
form.attr("target", "");
form.attr("method", "post");
form.attr("action", "<%= download_feedback_crm_products_path%>");

var input1 = $("");
input1.attr("type", "hidden");
input1.attr("name", "item");
input1.attr("value", "<%= CGI.escape(@result[:data].to_json) %>");

$("body").append(form);
form.append(input1);

form.submit;
form.remove;
});

Action:

# 下載sku 反饋信息
def download_feedback
result = CGI.unescape(params[:item])
data = JSON.parse(result)
file = Spreadsheet::Workbook.new
list = file.create_worksheet :name => "test"
list.row(0).concat ["CAS No.", "Product Name", "Assay/Purity", "In Stock (yes/no)", "Note","Result"]
data.each_with_index { |report, i|
list.row(i+1).concat report.values
}
xls_report = StringIO.new
file.write xls_report
send_data xls_report.string, :type => "text/xls", :filename => "wait_shipments.xls"
end

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 達人科技 的精彩文章:

擁抱Node.js 8.0,N-API入門極簡例子
redis分布式鎖實現
鏈表的相關知識整理
vuex所有核心概念完整解析State Getters Mutations Actions
Oracle體系結構之進程

TAG:達人科技 |

您可能感興趣

Spring Boot與Kotlin使用Spring-data-jpa簡化數據訪問層
阻止Facebook跟蹤數據的Firefox開源插件Facebook Container
Salesforce數據現在可以導入到Google Analytics 360中了
Women in Data Science Beijing:與數據科學的美妙邂逅
talmo-design-cables數據線品牌與包裝設計
Veritas收購雲數據管理公司fluid Operations AG
Illumina收購Edico Genome,加速基因組數據分析
FB及Cambridge Analytica因用戶數據泄露事件面臨訴訟
如果Facebook告訴你 你的數據被Cambridge Analytica使用
Slice數據:HomePod音箱45%的購買者為iPhone X用戶
Twitter 開源數據分析工具——tinfoleak
Insights Network——區塊鏈版數據交易所
uCloudlink 推出創新移動數據服務 「GlocalMe Inside」
數據挖掘平台Discover解鎖Tensorflow
用戶數據泄露三連彈:Facebook、安德瑪&Panera Bread
WhatsApp在歐洲停止與Facebook分享數據
受 Facebook 隱私醜聞影響,Instagram 將允許用戶下載平台數據
最全面跨組件數據Apache Atlas實現跨組件沿襲Apache Hadoop
受Facebook隱私醜聞影響,Instagram將開放數據下載功能
Concept3D和Flexential聯手打造VR數據中心旅遊體驗