/table-fu

A utility for spreadsheet-style handling of arrays (e.g. filtering, formatting, and sorting)

Primary LanguageRubyMIT LicenseMIT

# TableFu

TableFu turns a matric array(from a csv file for example) into a spreadsheet.

Allows formatting, macros, sorting, and faceting.

Documentation:
http://propublica.github.com/table-fu

Installation:
gem install table-fu


## Usage

    csv =<<-CSV
    Project,Cost,Date,URL
    Build Supercollider,500_000_000.50,09/15/2009,http://project.com
    Harness Power of Fusion,25_000_000,09/16/2009,http://project2.com
    Motorized Bar Stool,45.00,09/17/2009,http://project3.com
    CSV
    
    @spreadsheet = TableFu.new(csv) do |s|
      s.formatting = {'Cost' => 'currency',
                      'Link' => {'method'=> 'link', 'arguments' => ['Project', 'URL']}}
      s.sorted_by = {'Project' => {'order' => 'descending'}}
      s.columns = ['Date', 'Project', 'Cost', 'Link']
    end 

    @spreadsheet.rows[0].column_for('Cost').to_s #=> '$45.00'
    
    @spreadsheet.rows[0].columns[1].to_s #=> 'Motorized Bar Stool'
    
    @spreadsheet.rows[0].column_for('Link').to_s 
    #=> "<a href='http://project.com' title='Build Supercollider'>Build Supercollider</a>"