Skip to content

Instantly share code, notes, and snippets.

@krasnoukhov
Created March 15, 2012 11:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save krasnoukhov/2043824 to your computer and use it in GitHub Desktop.
Save krasnoukhov/2043824 to your computer and use it in GitHub Desktop.
Convert image to excel
require 'rubygems'
require 'rubyXL'
require 'RMagick'
workbook = RubyXL::Workbook.new
image = Magick::Image.read("Image.jpg").first
image = image.resize_to_fit(100, 100)
#image = image.quantize(256, Magick::GRAYColorspace)
image.rows.times do |row|
puts "Processing row #{row}"
image.columns.times do |col|
colors = [image.pixel_color(col, row).red, image.pixel_color(col, row).green, image.pixel_color(col, row).blue]
colors.collect! {|color| (color.to_f / Magick::QuantumRange * 255).to_i }
workbook.worksheets[0].add_cell(row, col, " ")
workbook.worksheets[0][row][col].change_fill("%02X%02X%02X" % colors)
end
workbook.worksheets[0].change_row_font_size(row, 0.5)
end
image.columns.times do |col|
puts "Processing column #{col}"
workbook.worksheets[0].change_column_width(col, 0.6)
end
workbook.write("Image.xlsx")
source 'http://rubygems.org'
gem 'nokogiri'
gem 'rubyzip'
gem 'rubyXL'
gem 'rmagick'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment