[英]How do I export input text results to an XLS file in Rails?
我使用JavaScript編寫了一個計算腳本,我想將該結果導出到XLS文件。
這是我的代碼:
****************THIS IS MY SCRIPT********
**********PROJECT/PUBLIC/JAVASCRIPT/calculator.js
$(document).ready(function () {
$(".conversion input").keyup(multInputs);
function multInputs() {
var mult = 0;
// for each row:
$("tr.conversion").each(function () {
// get the values from this row:
var $val1 = $('.val1', this).val();
var $val2 = $('.val2', this).val();
var $val3 = $('.val3', this).val();
var $subtotal = ($val1 * 1) * ($val2 * 1)
$('.soles',this).text($subtotal);
mult = ($subtotal*1) +($val3 * 1);
});
$("#total").text(mult);
}
});
這是我的觀點:
<div>
<table border="1" class="calculator">
<tr>
<th>COSTO DEL DOLAR</th>
<th>SUMA DE SOLES</th>
<th>SUMA DE SOLES A DOLARES</th>
<th>SUMA DE DOLARES</th>
</tr>
<tr class="conversion">
<td> <input id="cambio" name="cambio" class="val1" maxlength ="5"/></td>
<td>S/<input id="partial" name="partial" class="val2" readonly="readonly" value="<%= @soles %>"/></td>
<td>$ <span class="soles" value="<%= @multi.to_i %>"></span></td>
<td>$ <input name="dolares" class="val3" readonly="readonly" value="<%= @dolares.to_i %>"/></td>
</tr>
<tr>
<td colspan="4" align="center">MONTO TOTAL EN DOLARES: $ <span id="total"> 0.00 </span></td>
</tr>
</table>
</div>
<%= link_to image_tag("/images/excel.png",:size => "18x18"),{
:controller=>"customer_reports",:action=>"excel",:format=>"xls" ,:search => params[:search]} %>
這是我的控制器:
def index
@search = CustomerReport.search(params[:search])
@customer_reports = @search.paginate( :page => params[:page], :per_page =>10)
@results = CustomerReport.search(params[:search])
@soles=CustomerReport.search(params[:search]).find(:all ,:conditions=>"mount_type = '0'").sum(&:mount)
@dolares=CustomerReport.search(params[:search]).find(:all ,:conditions=>"mount_type = '1'").sum(&:mount)
respond_to do |format|
format.html
format.csv { render :csv => "reporte_csv",:partial =>"csv" }
format.xls { render :xls => "reporte_xls",:partial =>"xls" }
end
end
我想導出結果。 還有其他方法嗎?
如果使用JavaScript編寫代碼,它將在用戶的瀏覽器中執行,並且此時Rails不受控制。 您可以將JavaScript的結果寫入文本區域,然后讓用戶將其復制/粘貼到Excel電子表格中。
或者,您可以將結果作為該表單的輸出提交回Rails,並讓Ruby代碼生成XLS文件,然后將其發送到瀏覽器,以供用戶下載。
在我看來,使用JavaScript進行計算只會帶來麻煩。 您應該在該頁面上有一個收集所需信息的表格。 如上段所述,將表單中的值提交到Rails,然后讓其生成頁面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.