Генерация Ruby, JRuby и Rubinius Office Open XML (xlsx) с диаграммами, изображениями, автоматической шириной столбцов, настраиваемыми стилями и полной проверкой схемы. Axlsx превосходно помогает вам создавать красивые документы электронных таблиц Office Open XML без необходимости понимать всю спецификацию ECMA.

Axlsx: создание электронной таблицы Office Open XML

IRC: irc.freenode.net / #axlsx
Git: http://github.com/randym/axlsx
Twitter: https://twitter.com/
Группа Google: https://groups.google.com/forum/?fromgroups

Автор: Рэнди Морган

Авторские права: 2011 - 2017
Лицензия: Лицензия MIT

Последняя версия: 3.0.0
Версия Ruby: 2.2.7, 2.3.4, 2.4.1
JRuby Версия: 1.9 режимы
Версия Rubinius: rubinius 3 * могут работать более низкие версии, этот гем всегда проверяет голову.
Дата выпуска: 12 сентября 2013 г.

Если вы работаете в рельсах или с активной записью, см.: actions_as_xlsx

act_as_xlsx - это простой миксин ActiveRecord, который позволяет вам создать книгу с помощью:

Posts.where(created_at > Time.now-30.days).to_xlsx

** а также **

http://github.com/straydogstudio/axlsx_rails Axlsx_Rails предоставляет средство визуализации Axlsx, поэтому вы можете перемещать весь код вашей электронной таблицы с контроллера в файлы просмотра. Поддерживаются частичные файлы, поэтому вы можете организовать любой код в многоразовые блоки (например, титульные листы, общие стили и т. Д.). Вы можете использовать его с actions_as_xlsx, поместив вызов to_xlsx в представление и добавив ':package => xlsx_package' в список параметров. Теперь вы можете сделать свои контроллеры тонкими!

Здесь есть руководства по использованию axlsx и actions_as_xlsx: http://axlsx.blog.randym.net/

Если вы работаете с ActiveAdmin, см.: activeadmin-axlsx

Он предоставляет плагин и dsl для создания загружаемых отчетов.

Каталог примеров также содержит ряд более конкретных примеров.

Синопсис

Axlsx - это генератор электронных таблиц Office Open XML для языка программирования Ruby. С помощью Axlsx вы можете создавать таблицы Excel с диаграммами, изображениями (со ссылками), автоматической и фиксированной шириной столбцов, настраиваемыми стилями, функциями, таблицами, условным форматированием, параметрами печати, комментариями, объединенными ячейками, автоматическими фильтрами, сериализацией файлов и потоков, а также полная проверка схемы. Axlsx превосходно помогает вам создавать красивые документы электронных таблиц Office Open XML без необходимости понимать всю спецификацию ECMA.

образец

Список возможностей

  1. Создавайте документы xlsx: Axlsx позволяет легко и быстро создавать профессиональные отчеты на основе xlsx, которые можно проверить перед сериализацией.

  2. Создание трехмерных круговых, линейных, точечных и гистограмм: создание диаграмм Axlsx и управление ими так же просто, как несколько строк кода. Вы можете строить диаграммы на основе данных на вашем листе или генерировать диаграммы без каких-либо данных на вашем листе. Также настройте линии сетки, поворот меток и цвета серий.

  3. Пользовательские стили: с гарантированной достоверностью документа вы можете стилизовать границы, выравнивание, заливку, шрифты и числовые форматы в одной строке кода. Эти стили можно применить ко всей строке или к отдельной ячейке в любом месте вашей книги.

  4. Автоматическая поддержка типов: Axlsx автоматически определяет тип создаваемых вами данных. В этом выпуске типы Float, Integer, String, Date, Time и Boolean автоматически идентифицируются и сериализуются в вашу электронную таблицу.

  5. Автоматическая и фиксированная ширина столбцов: Axlsx автоматически определит подходящую ширину для ваших столбцов на основе содержимого на листе или будет использовать любое указанное вами значение для действительно забавных вещей.

  6. Поддержка автоматически форматируемых эпох 1904 и 1900, настраиваемых в книге.

  7. Добавление изображений jpg, gif и png на листы с гиперссылками

  8. Ссылка на ячейки на листе со ссылками на стиль "A1" и "A1:D4" или из книги с использованием ссылок на стиль "Sheet1!A3:B4"

  9. Переопределения стиля на уровне ячейки для объектов стилей по умолчанию и настраиваемых объектов

  10. Поддержка формул, слияния, выделения строк и столбцов, а также проверки входных данных на уровне ячеек.

  11. Автоматическая фильтрация таблиц с помощью workheet.auto_filter, а также поддержка таблиц

  12. Экспортируйте с использованием общих строк или встроенных строк, чтобы мы могли взаимодействовать с iWork Numbers (пока без диаграмм).

  13. Вывод в файл или StringIO

  14. Поддержка полей страницы и параметров печати

  15. Поддержка парольной и непарольной защиты листа.

  16. Поддержка взаимодействия на первом этапе для GoogleDocs, LibreOffice и Numbers

  17. Поддержка определенных имен, что дает вам повторяющиеся строки заголовка для печати.

  18. Метки данных для диаграмм, а также настройка цвета серий.

  19. Поддержка верхних и нижних колонтитулов листов

  20. Сводные таблицы

  21. Разрывы страниц

Установка

Чтобы установить Axlsx, используйте следующую команду:

$ gem install axlsx

Примеры

Список примеров становится слишком большим, чтобы поддерживать его здесь. Если вы используете Yard, вы сможете увидеть примеры в строке ниже.

Вот тизер, который раскрывает примерно 2% того, что может сделать самоцвет.

Axlsx::Package.new do |p|
  p.workbook.add_worksheet(:name => "Pie Chart") do |sheet|
    sheet.add_row ["Simple Pie Chart"]
    %w(first second third).each { |label| sheet.add_row [label, rand(24)+1] }
    sheet.add_chart(Axlsx::Pie3DChart, :start_at => [0,5], :end_at => [10, 20], :title => "example 3: Pie Chart") do |chart|
      chart.add_series :data => sheet["B2:B4"], :labels => sheet["A2:A4"],  :colors => ['FF0000', '00FF00', '0000FF']
    end
  end
  p.serialize('simple.xlsx')
end

Пожалуйста, смотрите примеры примеров для получения дополнительной информации.

С этим драгоценным камнем вы можете сделать гораздо больше. Если вы застряли, пообщайтесь со мной в IRC или отправьте вопрос на GitHub. Скорее всего, он уже реализован. Если нет - давайте посмотрим, как добавить.

Документация

Этот драгоценный камень на 100% задокументирован с помощью YARD, исключительной библиотеки документации. Чтобы просмотреть документацию по этому поводу и все драгоценные камни, установленные в вашей системе, используйте:

gem install yard kramdown

yard server -g

Технические характеристики

Этот гем имеет 100% тестовое покрытие с использованием test/unit. Чтобы выполнить тесты для этого гема, просто запустите rake в каталоге гема.