Подтвердить что ты не робот

Какой gem поддерживает импорт/экспорт в xlsx файл в рубине

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

Есть ли какой-либо gem/plugin, который будет записываться в Excelx?

4b9b3361

Ответ 1

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

https://github.com/randym/axlsx

Здесь описание автора:

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

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

Ответ 6

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

Ответ 7

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

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

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

Ответ 8

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

Ответ 9

Экспортировать (csv & xslx) без каких-либо драгоценных камней мы можем use-

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

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

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

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

  3. написать as-

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

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