Excel


#1

Hola, buenos días.

Tengo un filtro que selecciona los riesgos laborales de una división y
de un puesto de trabajo. Hasta ahí todo bien, pero se puede hacer que
estos datos que ya tengo seleccionados en pantalla, pasarlos a excel?

Lo he intentado pasando toda la tabla y funciona bien, pero cuando tengo
un filtro ya seleccionado, no sé como hacerlo.

Alguien sabe como?

Saludos y gracias


#2

El día 29/03/07, Lourdes removed_email_address@domain.invalid escribió:

Tengo un filtro que selecciona los riesgos laborales de una división y
de un puesto de trabajo. Hasta ahí todo bien, pero se puede hacer que
estos datos que ya tengo seleccionados en pantalla, pasarlos a excel?

No se si lo que estás buscando es cómo escribir un XLS desde Rails?
Puedes
hacerlo con la gema spreadsheet-excel [1]. En mi blog tengo un par de
ejemplitos [2].

[1] http://rubyforge.org/projects/spreadsheet
[2] http://www.jaimeiniesta.com/index.php?s=excel


Jaime I.

mail/jabber: removed_email_address@domain.invalid
skype: jaimeiniesta
tlf.: +34 658 513 170
web: http://www.railes.net - http://www.jaimeiniesta.com


#3

Hola, gracias por tu contestación.

Mi duda es, si tengo ya los datos en el formulario, que es el resultado
de un filtro que he hecho, tengo que volver a hacer el filtro para
pasarlo a excel, o puedo pasar de alguna forma los datos, que ya están
filtrados?.

No sé si me explico bien:
Es decir la tabla tiene 100 registros, pero he filtrado 5.

Quiero pasar solo esos 5. Tengo que volver a hacer el filtro para
pasarlo a Excel?

Saludos


#4

Hola Lourdes, no entiendo bien lo que preguntas con esto del filtro…
Si te
fijas en los ejemplos de spreadsheet-excel, permite generar archivos
XLS,
para ello recorrerás los datos que tengas y los guardarás en el XLS, en
una
fila cada uno, etc…

O sea que si ya tienes seleccionados los 5 registros, tendrás que hacer
un
bucle que los recorra y generar con ellos el XLS, no?

Jaime

El día 29/03/07, Lourdes removed_email_address@domain.invalid escribió:

removed_email_address@domain.invalid
http://lists.simplelogica.net/mailman/listinfo/ror-es


Jaime I.

mail/jabber: removed_email_address@domain.invalid
skype: jaimeiniesta
tlf.: +34 658 513 170
web: http://www.railes.net - http://www.jaimeiniesta.com


#5

Hola Jaime, muchas gracias.

Si que me ha salido, lo que pasa es que se me perdía un parametro por el
camino.

Saludos


#6

Hola de nuevo Jaime.

Estoy probando importar xls desde rails, he instalado gem install
parseexcel y me lo ha instalado bien, pero al hacer

def parse_xls
require ‘parseexcel’

# Prueba de leer un archivo Excel
workbook = 

Spreadsheet::ParseExcel.parse("#{RAILS_ROOT}/public/xls/programa.xls")
# Cogemos la primera hoja
@worksheet = workbook.worksheet(0)
end

me da el siguiente error:
no such file to load – parseexcel

Sabes por qué puede ser?

gracias.


#7

Muchas gracias, Jaime.

La tenía mal instalada, ahora si funciona.

Saludos


#8

Supongo que no se te ha instalado bien la gema parseexcel. ¿Seguro que
la
tienes instalada? Por lo que dice no la encuentra. Haz un gem list a ver
si
te sale.

Yo la instalé con sudo gem install parseexcel; mi versión de Ruby es la
1.84,
la de Rails es la 1.2.2 y la de gem la 0.9.0

Jaimes

El día 29/03/07, Lourdes removed_email_address@domain.invalid escribió:

workbook =

gracias.


Posted via http://www.ruby-forum.com/.


Ror-es mailing list
removed_email_address@domain.invalid
http://lists.simplelogica.net/mailman/listinfo/ror-es


Jaime I.

mail/jabber: removed_email_address@domain.invalid
skype: jaimeiniesta
tlf.: +34 658 513 170
web: http://www.railes.net - http://www.jaimeiniesta.com


#9

HOLA se que ya ha habido muchos correos sobre personalizar los errores
con
rails, y esto ya lo lo gre bien, lo unico que no se es como ordenar su
aparicion.

por ejemplo que me aparezcan en el orden en el que puse las validaciones
en
los modelos.

Por que por ejemplo en un formulario, al mostrar los errores quiero que
me
apezcan en orden pero aparacen desordenados.

Gracias


Live Search en Prodigy/MSN. Todo lo que buscas ahora más rapido
http://live.com


#10

Soy novato aun, pero creo que una solución sería esta (a lo mejor hay
otra
más ‘a lo Rails’)

Ya que por lo que he visto, desde las vistas se tiene acceso a las
variables
de instancia del controlador, podrías definir desde este un array con
las
claves de los mensajes de error.

@flash_order=[‘nombre_mensaje1’, ‘nombre_mensaje2’…] (¿o con
símbolos?)

y luego en la vista poner (¡toma paso de bloques!)

<% for k in flash_order
msg=flash[k]
unless msg.nil? %>
<%=msg%>
<% end%>
<% end %>

Estoy pensando que podrías ponerlo en un helper. Ahora yo pregunto al
los
compañeros del grupo ¿sería correcto esto?:

module …
def show_msgs(order)
order.each do |k|
#¿reconocería flash como la colección de mensajes?
msg=flash[k]
#¿como se haría para imprimir en la vista?
#¿como siempre, con puts o print?
imprimir_mensaje(msg) unless msg.nil?
end
end

un saludo
Rafa


#11

On Sat, Sep 22, 2007 at 02:20:26PM +0200, Rafa C. wrote:

  imprimir_mensaje(msg) unless msg.nil?
end

end

Les aconsejaría que le echaran un vistazo a la documentacion de los
métodos error_messages_for[1] y error_message_on[2]. Seguro que resulta
interesante su lectura.

Un saludo.

[1]
http://api.rubyonrails.org/classes/ActionView/Helpers/ActiveRecordHelper.html#M000568
[2]
http://api.rubyonrails.org/classes/ActionView/Helpers/ActiveRecordHelper.html#M000567


#12

Hola, sigo probando lo de importar datos.

Tengo una duda, que no se si se puede hacer así.

Quiero leer una hoja excel y grabarlo en un fichero dentro de rails.

Estoy haciendo algo así, pero me da errores. Tengo los mismos campos en
la hoja excel que en el modelo prueba.

require ‘parseexcel’
include Spreadsheet
def parse_xls

# Prueba de leer un archivo Excel
workbook = 

Spreadsheet::ParseExcel.parse("#{RAILS_ROOT}/public/xls/programas.xls")
# Cogemos la primera hoja
@worksheet = workbook.worksheet(0)

for f in @worksheet
for c in f
@prueba = Prueba.new
@prueba.nombre = c.nombre 'No se como asignarle el valor de la
celda
@prueba.save
end
end
end

Es posible hacer esto?

Saludos