Какой драгоценный камень поддерживает импорт/экспорт в файл xlsx в ruby ​​

Мне нужно читать и записывать в файл Excelx с рубиновым кодом. Пробовал с электронной таблицей, он не поддерживает формат xlsx, Roo также должен читать файл, а не записывать в xlsx.

Есть ли какой-нибудь драгоценный камень/плагин, который будет писать в Excelx?


person user569445    schedule 10.01.2011    source источник
comment
См. также Ruby Toolbox для получения списка связанных библиотек.   -  person Franklin Yu    schedule 19.02.2019


Ответы (9)


Для написания/экспорта xlsx-файлов Axlsx — самая полнофункциональная библиотека, которую я нашел. Однако он не поддерживает чтение/импорт файлов xlsx.

https://github.com/randym/axlsx

Вот описание автора:

xlsx с диаграммами, изображениями, автоматической шириной столбца, настраиваемыми стилями и полной проверкой схемы. Axlsx отлично помогает создавать красивые документы Office Open XML Spreadsheet без необходимости разбираться во всей спецификации ECMA. Прочтите README, чтобы узнать, насколько это просто. Лучше всего то, что вы можете проверить свой файл xlsx перед сериализацией, чтобы точно знать, что все сгенерированное будет загружено на компьютер вашего клиента.

person Jedidiah Hurt    schedule 20.03.2012
comment
Я также добавлю, что гем очень хорошо задокументировано и активно поддерживается. - person Jedidiah Hurt; 18.12.2012
comment
Библиотека предназначена только для записи и вообще не поддерживает чтение существующих файлов xlsx. :-( - person Morgan Christiansson; 20.11.2013
comment
@morganchristiansson Вы правы. Я не заметил, так как мне нужно только написать. Извините за путаницу :( - person Jedidiah Hurt; 21.11.2013
comment
Axlsx gem очень хорош и кажется полностью функциональным - person Akash Kumar; 28.09.2016
comment
Этот гем, похоже, больше не поддерживается, последняя версия была в 2015 году. Обратите внимание, что он подвергает ваш проект уязвимости в геме rubyzip. См. github.com/randym/axlsx/issues/536. - person Stéphane; 23.11.2017
comment
Есть ли стабильный, готовый к производству драгоценный камень? Заголовок stackoverflow.com/questions/49233416/ - person Simon Franzen; 12.03.2018

Вы можете попробовать этот драгоценный камень

https://github.com/harvesthq/simple_xlsx_writer

И

https://github.com/cxn03651/writeexcel/

person fl00r    schedule 03.09.2011
comment
Обратите внимание, что simple_xlsx_writer не включает ни форматирование, ни стили. writeexcel записывать файлы xls в старом стиле, а не в формате xlsx. - person jwadsack; 27.10.2016

кажется, RubyXL делает и то, и другое, чтение и запись https://github.com/gilt/rubyXL не использовал это еще однако..

person andistuder    schedule 24.07.2012

Файл XLSX, по сути, представляет собой заархивированную коллекцию XML-файлов. Если вы не найдете подходящего гема, вы можете попробовать сгенерировать их вручную с помощью Ruby, возможно, используя пустой шаблон, сохраненный из Excel. Раньше мы так делали, работало очень хорошо, к сожалению, этот код не является открытым.

Но в конечном итоге нам потребовался больший контроль над тем, как выглядит результат, поэтому мы сделали решение на основе .NET с автоматизацией Excel.

person Mladen Jablanović    schedule 10.01.2011

Я добился большого успеха, используя WIN32OLE с Excel. Я всегда возвращаюсь к rubyonwindows.blogspot.com для примеров.

person Beanish    schedule 10.01.2011

Добавляя к списку вышеперечисленных жемчужин, Roo(https://github.com/roo-rb/roo) — популярный ruby ​​gem, который используется для управления и работы с файлами excel и xlsx.

person coderhs    schedule 23.04.2015
comment
Судя по их ридми, это доступ только для чтения. - person Sergio Tulentsev; 02.11.2015

Я обнаружил, что интерфейсы всех существующих библиотек ruby ​​excel очень не похожи на ruby ​​и особенно неточны при определении типов ячеек при чтении файлов.

Итак, если вы ищете что-то (IMO) более простое, я успешно использовал комбинацию simple_xlsx_reader и simple_xlsx_writer.

Я являюсь автором simple_xlsx_reader, и на момент написания этой статьи у меня нет тестов в simple_xlsx_reader, подтверждающих все варианты использования для чтения файлов, сгенерированных simple_xlsx_writer, поэтому я не могу сказать, что он полностью поддерживается, но могу сказать Я без проблем развернул производственное приложение, в котором обе библиотеки использовались для различных интеграционных тестов.

person Woahdae    schedule 21.03.2014

Проверьте с помощью этого драгоценного камня, я очень полезен для создания любого сложного драгоценного камня формата/макета 'axlsx', github: 'randym/axlsx', ветвь: 'master' и ссылайтесь на эти ссылки для документацииaxlsx-документация

person dsn raghavendra rao    schedule 07.07.2016

Для экспорта (csv и xslx) без драгоценных камней мы можем использовать:

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

Эта ссылка показывает, как экспортировать в csv, ниже показано, как мы можем получить xlsx.

  1. открытый контроллер
  2. найти метод, который вызывает метод to_csv,

    send_data @models.to_csv, имя файла: "Contract-#{Date.today}.csv"

  3. напиши как-

    send_data @models.to_csv, имя файла: "Contract-#{Date.today}.xlsx"

Это сработало для меня!!!

person S.Yadav    schedule 10.01.2019