Class: RubyXL::Worksheet
- Inherits:
-
OOXMLTopLevelObject
- Object
- OOXMLObject
- OOXMLTopLevelObject
- RubyXL::Worksheet
- Includes:
- LegacyWorksheet
- Defined in:
- lib/rubyXL/objects/worksheet.rb
Overview
Instance Attribute Summary collapse
-
#sheet_id ⇒ Object
Returns the value of attribute sheet_id.
-
#sheet_name ⇒ Object
Returns the value of attribute sheet_name.
-
#state ⇒ Object
Returns the value of attribute state.
-
#workbook ⇒ Object
Returns the value of attribute workbook.
Class Method Summary collapse
Instance Method Summary collapse
-
#before_write_xml ⇒ Object
This method may need to be moved higher in the hierarchy.
- #rel_type ⇒ Object
- #sheet_index ⇒ Object
- #xlsx_path ⇒ Object
Methods included from LegacyWorksheet
#[], #add_cell, #add_row, #change_column_bold, #change_column_border_bottom, #change_column_border_diagonal, #change_column_border_left, #change_column_border_right, #change_column_border_top, #change_column_fill, #change_column_font_color, #change_column_font_name, #change_column_font_size, #change_column_horizontal_alignment, #change_column_italics, #change_column_strikethrough, #change_column_underline, #change_column_vertical_alignment, #change_column_width, #change_column_width_raw, #change_row_bold, #change_row_border_bottom, #change_row_border_diagonal, #change_row_border_left, #change_row_border_right, #change_row_border_top, #change_row_fill, #change_row_font_color, #change_row_font_name, #change_row_font_size, #change_row_height, #change_row_horizontal_alignment, #change_row_italics, #change_row_strikethrough, #change_row_underline, #change_row_vertical_alignment, #delete_cell, #delete_column, #delete_row, #each, #extract_data, #get_column_border_bottom, #get_column_border_diagonal, #get_column_border_left, #get_column_border_right, #get_column_border_top, #get_column_fill, #get_column_font_color, #get_column_font_name, #get_column_font_size, #get_column_horizontal_alignment, #get_column_vertical_alignment, #get_column_width, #get_column_width_raw, #get_row_border_bottom, #get_row_border_diagonal, #get_row_border_left, #get_row_border_right, #get_row_border_top, #get_row_fill, #get_row_font_color, #get_row_font_name, #get_row_font_size, #get_row_height, #get_row_horizontal_alignment, #get_row_vertical_alignment, #get_table, #initialize, #insert_cell, #insert_column, #insert_row, #is_column_bolded, #is_column_italicized, #is_column_struckthrough, #is_column_underlined, #is_row_bolded, #is_row_italicized, #is_row_struckthrough, #is_row_underlined, #merge_cells
Methods inherited from OOXMLTopLevelObject
#add_to_zip, parse_file, set_namespaces, xlsx_path
Methods included from OOXMLObjectClassMethods
#define_attribute, #define_child_node, #define_element_name, #obtain_class_variable, #parse, #set_countable
Methods included from OOXMLObjectInstanceMethods
#dup, #index_in_collection, #initialize, #write_xml
Instance Attribute Details
#sheet_id ⇒ Object
Returns the value of attribute sheet_id.
655 656 657 |
# File 'lib/rubyXL/objects/worksheet.rb', line 655 def sheet_id @sheet_id end |
#sheet_name ⇒ Object
Returns the value of attribute sheet_name.
655 656 657 |
# File 'lib/rubyXL/objects/worksheet.rb', line 655 def sheet_name @sheet_name end |
#state ⇒ Object
Returns the value of attribute state.
655 656 657 |
# File 'lib/rubyXL/objects/worksheet.rb', line 655 def state @state end |
#workbook ⇒ Object
Returns the value of attribute workbook.
655 656 657 |
# File 'lib/rubyXL/objects/worksheet.rb', line 655 def workbook @workbook end |
Class Method Details
.content_type ⇒ Object
710 711 712 |
# File 'lib/rubyXL/objects/worksheet.rb', line 710 def self.content_type 'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml' end |
Instance Method Details
#before_write_xml ⇒ Object
This method may need to be moved higher in the hierarchy
657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 |
# File 'lib/rubyXL/objects/worksheet.rb', line 657 def before_write_xml # This method may need to be moved higher in the hierarchy first_nonempty_row = nil last_nonempty_row = 0 first_nonempty_column = nil last_nonempty_column = 0 if sheet_data then sheet_data.rows.each_with_index { |row, row_index| next if row.nil? || row.cells.empty? first_nonempty_cell = nil last_nonempty_cell = 0 row.cells.each_with_index { |cell, col_index| next if cell.nil? cell.r = RubyXL::Reference.new(row_index, col_index) first_nonempty_cell ||= col_index last_nonempty_cell = col_index } if first_nonempty_cell then # If there's nothing in this row, then +first_nonempty_cell+ will be +nil+. last_nonempty_row = row_index first_nonempty_row ||= row_index first_nonempty_column ||= first_nonempty_cell last_nonempty_column = last_nonempty_cell if last_nonempty_cell > last_nonempty_column end row.r = row_index + 1 row.spans = "#{first_nonempty_cell + 1}:#{last_nonempty_cell + 1}" unless first_nonempty_cell.nil? row.custom_format = (row.style_index.to_i != 0) } if first_nonempty_row then self.dimension ||= RubyXL::WorksheetDimensions.new self.dimension.ref = RubyXL::Reference.new(first_nonempty_row, last_nonempty_row, first_nonempty_column, last_nonempty_column) end end true end |
#rel_type ⇒ Object
714 715 716 |
# File 'lib/rubyXL/objects/worksheet.rb', line 714 def rel_type 'worksheet' end |
#sheet_index ⇒ Object
702 703 704 |
# File 'lib/rubyXL/objects/worksheet.rb', line 702 def sheet_index @workbook.worksheets.select{ |sheet| sheet.is_a?(self.class) }.index{ |sheet| sheet.equal?(self) } end |
#xlsx_path ⇒ Object
706 707 708 |
# File 'lib/rubyXL/objects/worksheet.rb', line 706 def xlsx_path File.join('xl', 'worksheets', "sheet#{sheet_index + 1}.xml") end |