ruby gem to read/create/modify OpenDocument Format (ODF): Spreadsheet (ODS), Text (ODT), etc.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib fixed unreasonable caution Aug 23, 2011
MIT-LICENCE version 0.1.0 Aug 19, 2011
README.rdoc tiny readme improve May 30, 2012
VERSION version 0.1.0 Aug 19, 2011
rubiod.gemspec fixed missing 'rubyzip' dependency Aug 19, 2011


RubiOD - work with OpenDocument in pure Ruby

The rubiod gem is intended to provide cute ruby-style interface to work with OASIS Open Document Format files. For now it supports some functionality to read/modify OD spreadsheets (.ods).


rubiod works with ruby 1.8.7 or higher. It is dependent on libxml-ruby and rubyzip gems

Download and installation

At least two ways available:

  1. Build gem from source:

    git clone git://; cd rubiod
    gem build rubiod.gemspec
    gem install rubiod-version.gem
  2. Or add following line to Gemfile (if it's in use):

    gem 'rubiod', :git => 'git://'

ODS Showcase

Some examples of work with rubiod

Load rubiod itself

require 'rubygems'
require 'rubiod'

Load spreadsheet

Document initializer takes a path to file or any IO object

spread ='path/to/file.ods')'path/to/file.ods', 'r') do |f|

Extract document parts

RubiOD allows to work separately with worksheets and rows of document:

worksheet = spread['Worksheet']
worksheet = spread[0]

row = spread[0, 10]

row = worksheet[10]

Read data

puts spread['Worksheet', 0, 0]
puts worksheet[0, 0]
puts row[0]

Modify data

Setting new value in a cell:

spread[0, 1, 5] = 'new data'
worksheet[1, 5] = 10
row[5] = object

Inserting new row after specified one, applying the same formatting:

worksheet.insert 10

Deleting an entire row (with shifting lower ones up):

worksheet.delete 11

Apply modifications


RubiOD is released under the MIT license.