Ruby library to read Apple Numbers documents?

ruby

Solution

Such a library apparently does not exist (yet?). A good workaround for now is to automate the conversion to CSV through applescript, and then read this result instead of trying to read the Numbers file directly. This might not fit everyone's needs, though, but works perfectly for me.

Here is the applescript:

# -------------------------------------------------------------------------------
# Command-line tool to convert an iWork '09 Numbers
# document to CSV.
#
# Parameters:
# - input: Numbers input file
# - output: CSV output file
#
# Attik System, Philippe Lang
#
# Creation date: 31 mai 2012
# Modification date: 
# -------------------------------------------------------------------------------
on run argv
    # We retreive the path of the script
    set myPath to (path to me)
    tell application "Finder" to set myFolder to folder of myPath

    # We get the command line parameters
    set input_file to item 1 of argv
    set output_file to item 2 of argv

    # We retreive the extension of the file
    set theInfo to (info for (input_file))
    set extname to name extension of (theInfo)

    # Paths
    set input_file_path to (myFolder as text) & input_file
    set output_file_path to (myFolder as text) & output_file

    if extname is equal to "numbers" then
        tell application "Numbers"
            open input_file_path
            save document 1 as "LSDocumentTypeCSV" in output_file_path
            close every window saving no
        end tell
    end if
end run

Use it like this:

osascript convert_to_csv.scpt input_file.numbers output_file.csv

Problem

There are several Ruby open-source libraries for reading Microsoft Excel files, such as roo or spreadsheet. What about Apple Numbers documents? Is there anything available?

Original source