send_data rails ruby excel export-to-excel xlsx

rails - ¿Qué gema admite Importar/Exportar a xlsx en ruby



rails export to excel (9)

Necesito leer y escribir en el archivo Excelx con código ruby. Intentado con la hoja de cálculo no es compatible con el formato xlsx, Roo también debe leer el archivo y no escribir en xlsx.

¿Hay alguna gema / plugin que escriba a Excelx?


Agregando a la lista de gemas anteriores, Roo ( https://github.com/roo-rb/roo ) es una popular gema ruby ​​que se usa para administrar y trabajar con archivos Excel y XLSX.


Encontré que las interfaces de todas las bibliotecas existentes de ruby ​​excel son muy poco similares a las de ruby, y especialmente imprecisas al determinar los tipos de celdas al leer archivos.

Entonces, si está buscando algo que sea (IMO) más simple, he utilizado con éxito la combinación de simple_xlsx_reader y https://github.com/harvesthq/simple_xlsx_writer .

Soy el autor de simple_xlsx_reader, y en el momento de escribir esto, no tengo pruebas en simple_xlsx_reader que afirmen todos los casos de uso para leer archivos generados por simple_xlsx_writer, por lo que no puedo decir que sea totalmente compatible, pero puedo decir He implementado una aplicación de producción que usó ambas bibliotecas de forma consecutiva para varias pruebas de integración, sin ningún problema.



Para exportar (csv y xslx) sin ninguna gema podemos usar-

https://gorails.com/episodes/export-to-csv

Este enlace muestra cómo exportar en csv, a continuación se muestra cómo podemos obtener xlsx.

  1. controlador abierto
  2. encontrar el método que llama al método to_csv,

    send_data @ models.to_csv, nombre de archivo: "Contrato - # {Date.today} .csv"

  3. escribe como-

    send_data @ models.to_csv, nombre de archivo: "Contrato - # {Date.today} .xlsx"

Eso funcionó para mí !!!


Para la tarea de escribir / exportar archivos xlsx, Axlsx es la biblioteca más completa que he encontrado. Sin embargo, no admite la lectura / importación de archivos xlsx.

https://github.com/randym/axlsx

Aquí está la descripción del autor:

Generación xlsx con gráficos, imágenes, ancho de columna automatizado, estilos personalizables y validación de esquema completo. Axlsx se destaca por ayudarlo a generar hermosos documentos de Office Open XML Spreadsheet sin tener que entender toda la especificación de ECMA. Echa un vistazo a README para ver algunos ejemplos de lo fácil que es. Lo mejor de todo es que puedes validar tu archivo xlsx antes de la serialización para que estés seguro de que todo lo que se genere se cargará en la máquina de tu cliente.




Un archivo XLSX es esencialmente una colección comprimida de archivos XML. Si no encuentra una gema adecuada, puede intentar generarlas manualmente usando Ruby, posiblemente utilizando una plantilla vacía guardada desde Excel. Solíamos hacerlo, funcionaba bastante bien, desafortunadamente ese código no es de código abierto.

Pero al final, necesitábamos más control sobre el aspecto del resultado, por lo que creamos una solución basada en .NET con automatización de Excel.


Verifique con esta gema, i es muy útil para generar cualquier gema de formato / diseño difícil ''axlsx'', github: ''randym / axlsx'', rama: ''master'' y consulte estos enlaces para la documentación de documented