class SpreadsheetSpreadsheet
Attributes
filepath[R]
Public Class Methods
new(filepath)
click to toggle source
Contract String => Any
# File lib/tmis/engine/import/spreadsheet_roo.rb, line 59 def initialize(filepath) @filepath = filepath.force_encoding("UTF-8") Spreadsheet.client_encoding = 'UTF-8' if File.file?(@filepath) @book = Spreadsheet.open(@filepath) else @book = Spreadsheet::Workbook.new(@filepath) @book.create_worksheet end @sheet = @book.worksheet(0) fmt = Spreadsheet::Format.new text_wrap: true fmt.horizontal_align = :center fmt.vertical_align = :middle fmt.font = Spreadsheet::Font.new('Times New Roman', :size => 12) @sheet.default_format = fmt @sheet end
Public Instance Methods
[](r, c)
click to toggle source
Contract Pos, Pos => Any
# File lib/tmis/engine/import/spreadsheet_roo.rb, line 103 def [](r, c) @sheet[r - 1, c - 1] end
[]=(r, c, obj)
click to toggle source
Contract Pos, Pos, Any => Any
# File lib/tmis/engine/import/spreadsheet_roo.rb, line 108 def []=(r, c, obj) @sheet[r - 1, c - 1] = obj end
column(n)
click to toggle source
Contract Pos => Any
# File lib/tmis/engine/import/spreadsheet_roo.rb, line 98 def column(n) @sheet.column(n - 1) end
format(r, c, fmt)
click to toggle source
# File lib/tmis/engine/import/spreadsheet_roo.rb, line 122 def format(r, c, fmt) @sheet.row(r - 1).set_format(c - 1, fmt) end
last_column()
click to toggle source
Contract None => Pos
# File lib/tmis/engine/import/spreadsheet_roo.rb, line 83 def last_column @sheet.column_count end
last_row()
click to toggle source
Contract None => Pos
# File lib/tmis/engine/import/spreadsheet_roo.rb, line 78 def last_row @sheet.last_row_index end
merge(start_row, start_col, end_row, end_col)
click to toggle source
# File lib/tmis/engine/import/spreadsheet_roo.rb, line 118 def merge(start_row, start_col, end_row, end_col) @sheet.merge_cells(start_row - 1, start_col - 1, end_row - 1, end_col - 1) end
row(n)
click to toggle source
Contract Pos => Any
# File lib/tmis/engine/import/spreadsheet_roo.rb, line 93 def row(n) @sheet.row(n - 1) end
save()
click to toggle source
Contract None => Any
# File lib/tmis/engine/import/spreadsheet_roo.rb, line 113 def save @book.write("#{@filepath}_temp") FileUtils.mv("#{@filepath}_temp", @filepath) # Обход бага в библиотеке end
sheet(number)
click to toggle source
Contract Not => Any
# File lib/tmis/engine/import/spreadsheet_roo.rb, line 88 def sheet(number) @sheet = @book.worksheet(number - 1) end