Skip to content

Instantly share code, notes, and snippets.

@phollyer
Created September 13, 2011 17:43
Show Gist options
  • Star 25 You must be signed in to star a gist
  • Fork 7 You must be signed in to fork a gist
  • Save phollyer/1214475 to your computer and use it in GitHub Desktop.
Save phollyer/1214475 to your computer and use it in GitHub Desktop.
Spreadsheet Gem - updating an existing sheet without changing the output location or filename
#!/usr/bin/env ruby
require 'spreadsheet'
# Begin Test
print "Spreadsheet Test\n"
# Create the rows to be inserted
row_1 = ['A1', 'B1']
row_2 = ['A2', 'B2']
# Create a new Workbook
new_book = Spreadsheet::Workbook.new
# Create the worksheet
new_book.create_worksheet :name => 'Sheet Name'
# Add row_1
new_book.worksheet(0).insert_row(0, row_1)
# Write the file
new_book.write('test.xls')
# Wait for the user to inspect the file manually
print "Sheet Created, press Enter to continue...."
gets
# Open the previously created Workbook
open_book = Spreadsheet.open('test.xls')
# Get the row index in order to append a new row
# after any exisitng rows with data
new_row_index = open_book.worksheet(0).last_row_index + 1
# Indicate the row index to the user
print "Inserting new row at index: #{new_row_index}\n"
# Insert row_2
open_book.worksheet(0).insert_row(new_row_index, row_2)
# Delete the file so that it can be re-written
File.delete('test.xls')
# Write out the Workbook again
open_book.write('test.xls')
# End Test
print "Test Complete.\n"
@paragmangal
Copy link

Hi !!
How to access a drop down list in .xls file using this ruby spreadsheet gem?

@veekram
Copy link

veekram commented May 3, 2019

@ALL Have not gone through full api documentation. But, could not figure out how to write .XLS headers. Do anybody know how to? Thanks in advance.

@joelGarcia93
Copy link

joelGarcia93 commented Dec 13, 2021

Hi, anyone knows how can I read a xlsb file with this gem? any example?

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment