Мне нужно прочитать и записать в файл Excelx с кодом ruby, Пробовал с электронной таблицей, он не поддерживает формат xlsx, Roo также должен прочитать файл и не писать в xlsx.
Есть ли какой-либо gem/plugin, который будет записываться в Excelx?
Мне нужно прочитать и записать в файл Excelx с кодом ruby, Пробовал с электронной таблицей, он не поддерживает формат xlsx, Roo также должен прочитать файл и не писать в xlsx.
Есть ли какой-либо gem/plugin, который будет записываться в Excelx?
Для записи/экспорта файлов xlsx Axlsx является самой полнофункциональной библиотекой, которую я нашел. Однако он не поддерживает чтение/импорт файлов xlsx.
https://github.com/randym/axlsx
Здесь описание автора:
xlsx с диаграммами, изображениями, автоматической шириной столбца, настраиваемые стили и полную проверку схемы. Axlsx превосходит помогая вам создавать красивые документы Office Open XML Spreadsheet без необходимости понимать всю спецификацию ECMA. Проверять, выписываться README для некоторых примеров того, насколько это просто. Лучше всего, вы можете подтвердите свой файл xlsx перед сериализацией, чтобы вы точно знали, что все, что сгенерировано, загрузится на вашу клиентскую машину.
Вы можете попробовать этот камень
и
Кажется, что RubyXL делает и то, и другое, прочитайте И напишите https://github.com/gilt/rubyXL, хотя он еще не использовался..
Файл XLSX - это, по сути, коллекция ZIP файлов с zip файлами. Если вы не найдете подходящий камень, вы можете попробовать создать их вручную с помощью Ruby, возможно, используя пустой шаблон, сохраненный в Excel. Мы это делали, работали неплохо, к сожалению, этот код не является открытым.
Но в конечном итоге нам нужно было больше контроля над тем, как выглядит результат, поэтому мы сделали .NET-решение с автоматизацией Excel.
Я нашел много успеха, используя WIN32OLE с excel. Я всегда возвращаюсь к rubyonwindows.blogspot.com для примеров.
Добавляя к списку вышеупомянутых драгоценных камней, Roo (https://github.com/roo-rb/roo) - популярный рубиновый камень, который используется для управления и работы с excel и xlsx.
Я обнаружил, что интерфейсы всех существующих библиотек ruby excel очень несовременны и особенно неточны при определении типов ячеек при чтении файлов.
Итак, если вы ищете что-то, что (IMO) проще, я успешно использовал комбинацию simple_xlsx_reader и simple_xlsx_writer.
Я являюсь автором simple_xlsx_reader, и на момент написания этой статьи у меня нет тестов в simple_xlsx_reader, которые утверждают все примеры использования для чтения файлов, сгенерированных simple_xlsx_writer, поэтому я не могу сказать, что он полностью поддерживается, но Я могу сказать, что я развернул производственное приложение, которое использовало обе библиотеки для разных интеграционных тестов, без проблем.
Проверьте этот жемчуг, я очень полезен для создания любого сложного формата/макета gem 'axlsx', github: 'randym/axlsx', branch: 'master' и ссылайтесь на эту ссылку для документации axlsx-documentation
Экспортировать (csv & xslx) без каких-либо драгоценных камней мы можем use-
https://gorails.com/episodes/export-to-csv
Эта ссылка показывает, как экспортировать в CSV, ниже, как мы можем получить xlsx.
найти метод, который вызывает метод to_csv,
send_data @models.to_csv, имя файла: "Contract- # {Date.today}.csv"
написать as-
send_data @models.to_csv, имя файла: "Contract- # {Date.today}.xlsx"
Это сработало для меня!