From 8280a21a23d44aa90177e2bc041d0b8dc8556f4b Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Mon, 12 Jun 2017 03:37:11 -0400 Subject: Import Upstream version 2.7.1 --- lib/roo/formatters/matrix.rb | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 lib/roo/formatters/matrix.rb (limited to 'lib/roo/formatters/matrix.rb') diff --git a/lib/roo/formatters/matrix.rb b/lib/roo/formatters/matrix.rb new file mode 100644 index 0000000..39c7381 --- /dev/null +++ b/lib/roo/formatters/matrix.rb @@ -0,0 +1,23 @@ +module Roo + module Formatters + module Matrix + # returns a matrix object from the whole sheet or a rectangular area of a sheet + def to_matrix(from_row = nil, from_column = nil, to_row = nil, to_column = nil, sheet = default_sheet) + require 'matrix' + + return ::Matrix.empty unless first_row + + from_row ||= first_row(sheet) + to_row ||= last_row(sheet) + from_column ||= first_column(sheet) + to_column ||= last_column(sheet) + + ::Matrix.rows(from_row.upto(to_row).map do |row| + from_column.upto(to_column).map do |col| + cell(row, col, sheet) + end + end) + end + end + end +end -- cgit v1.2.3