Skip to content

oleksiivykhor/xlsx_to_html

Repository files navigation

XLSXToHTML

Xlsx to html converting

Installation

Add this line to your application's Gemfile:

gem 'xlsx_to_html'

And then execute:

$ bundle

Or install it yourself as:

$ gem install xlsx_to_html

Usage

require 'xlsx_to_html'

XLSXToHTML.convert('path/to/xlsx')

Or

require 'xlsx_to_html'

XLSXToHTML.convert('path/to/xlsx', ['Expected', 'Headers'], key: :headers)

Specify key (:headers or :rows) when you use different templates for headers and rows

Configuration

XLSXToHTML.configure do |config|
  config.template = 'path/to/template'
end

Or

configuration = XLSXToHTML.configuration
configuration.template = 'path/to/template'

Configuration options

Option Expected value Default value Notes
template path/to/template default/template/path
headers_template path/to/template defautl/template/path Use with common_template false
rows_template path/to/template defautl/template/path Use with common_template false
common_template true, false true
without_headers true, false false Use when spreadsheet has no headers
dynamic_headers_row true, false false When headers are present not on the first line. Use with expected_headers

Templates

Use template markup as below

For common template

<table>
  <thead>
    <tr>
      <%- @headers.each do |header| -%>
        <th><%= header %></th>
      <%- end -%>
    </tr>
  </thead>
  <tbody>
    <%- @rows.each do |row| -%>
      <tr>
        <%- row.each do |cell| -%>
          <td><%= cell %></td>
        <%- end -%>
      </tr>
    <%- end -%>
  </tbody>
</table>

For headers template

<thead>
  <tr>
    <%- @headers.each do |header| -%>
      <th><%= header %></th>
    <%- end -%>
  </tr>
</thead>

For rows template

<tbody>
  <%- @rows.each do |row| -%>
    <tr>
      <%- row.each do |cell| -%>
        <td><%= cell %></td>
      <%- end -%>
    </tr>
  <%- end -%>
</tbody>

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/oleksiivykhor/xlsx_to_html

License

The gem is available as open source under the terms of the MIT License.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published