Primero agradecer todas las veces que me han ayudado, no lo hago cada
vez
para no alargar los temas.
Ahora tengo lo siguiente:
Mi sistema genera algunos informes para excel en formato txt como csv,
eso
va bien hasta me di cuenta que se pueden colocar formulas en los csv. Mi
problema es que al bajar el archivo si ya baje uno antes en la secion,
queda
en la memoria del IE y me aparece la ultima que baje, no la nueva que
cree.
aca va una parte de cmo señalo los archivos en mi html:
<span class="caja">
<%= link_to( image_tag('page_green.png', :title =>
“generar informe de venta por comercio/local y fechas desde y hasta.”),
infvta00_documentos_path, :method => :get ) %>
<% if File.exist
?("#{RAILS_ROOT}/public/excel/#{current_usuario.login}/infvta.csv")%>
<%= link_to( image_tag(‘excel.png’, :title => “ver
informe de venta XLS último generado”),
“/excel/#{current_usuario.login}/infvta.csv”) %>
<% end %>
<% if File.exist
?("#{RAILS_ROOT}/public/excel/#{current_usuario.login}/infvtaxc.csv")%>
<%= link_to( image_tag(‘excel.png’, :title => “ver
informe de venta por comercio XLS último generado”),
“/excel/#{current_usuario.login}/infvtaxc.csv”) %>
<% end %>
<% if File.exist
?("#{RAILS_ROOT}/public/excel/#{current_usuario.login}/infvtatt.csv")%>
<%= link_to( image_tag(‘excel.png’, :title => “ver
informe de venta por producto XLS último generado”),
“/excel/#{current_usuario.login}/infvtatt.csv”) %>
<% end %>
Gracias.
On Nov 22, 2007 5:17 PM, Angel Mauricio Pino Gonzalez
[email protected] wrote:
Primero agradecer todas las veces que me han ayudado, no lo hago cada vez
para no alargar los temas.
Ahora tengo lo siguiente:
Mi sistema genera algunos informes para excel en formato txt como csv, eso
va bien hasta me di cuenta que se pueden colocar formulas en los csv. Mi
problema es que al bajar el archivo si ya baje uno antes en la secion, queda
en la memoria del IE y me aparece la ultima que baje, no la nueva que cree.
¿Cómo enviás el archivo?
Probá también en el controller, antes de enviar el archivo:
headers[‘Cache-Control’] = ‘no-cache’
Un truco para saltarse la caché del navegador es pasarle un parámetro
“aleatorio” al nombre del fichero:
<% if
File.exist?(“#{RAILS_ROOT}/public/excel/#{current_usuario.login}/infvta.csv”)%>
<%= link_to( image_tag(‘excel.png’, :title => “ver informe de venta
XLS último generado”),
“/excel/#{current_usuario.login}/infvta.csv?r=#{Time.now.to_i}”) %>
<% end %>
y así cada vez que se cargue la página lo hará con un número distinto y
se obligará a descargar el fichero del servidor.
De todas maneras también te recomendaría que refactorizases un poco ese
código ya que si te das cuenta estás repitiendo un comportamiento que
podrías abstraer en un helper para hacer un código más limpio(y por lo
tanto más fácil de mantener y ampliar):
module ApplicationHelper
def excel_link(text, source)
if File.exist?(“#{RAILS_ROOT}/public/#{source}”)
rand = Time.now.to_i
link_to(image_tag(‘excel.png’, :title => text),
“#{source}?r=#{rand}”)
end
end
end
y ahora tu vista quedaría algo
así:
<%= excel_link(“ver informe de venta XLS último generado”,
“/excel/#{current_usuario.login}/infvta.csv”) %>
<%= excel_link(“ver informe de venta por comercio XLS último
generado”, “/excel/#{current_usuario.login}/infvtaxc.csv”) %>
<%= excel_link(“ver informe de venta por producto XLS último
generado”, “/excel/#{current_usuario.login}/infvtatt.csv”) %>
mejor, no?
saludos
Angel Mauricio Pino Gonzalez
escribió:> Primero agradecer todas las veces que me han ayudado, no lo hago cada
aca va una parte de cmo señalo los archivos en mi html:
informe de venta XLS último generado"),
<%= link_to( image_tag(‘excel.png’, :title => "ver
Movil: 08-577.92.72
Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es
–
/**