Class: Writexlsx::Worksheet::HyperlinkCellData

Inherits:
CellData
  • Object
show all
Defined in:
lib/write_xlsx/worksheet.rb

Overview

:nodoc:

Constant Summary

Constants included from Utility

Utility::COL_MAX, Utility::ROW_MAX, Utility::SHEETNAME_MAX, Utility::STR_MAX

Instance Attribute Summary

Attributes inherited from CellData

#col, #link_type, #range, #result, #row, #tip, #token, #url, #xf

Instance Method Summary collapse

Methods inherited from CellData

#cell_attributes

Methods included from Utility

#absolute_char, #check_dimensions, #check_dimensions_and_update_max_min_values, #check_parameter, #convert_date_time, delete_files, #ptrue?, #put_deprecate_message, #row_col_notation, #store_col_max_min_values, #store_row_max_min_values, #substitute_cellref, #underline_attributes, #write_color, #xl_cell_to_rowcol, #xl_col_to_name, #xl_range, #xl_range_formula, #xl_rowcol_to_cell, #xml_str

Constructor Details

#initialize(worksheet, row, col, index, xf, link_type, url, str, tip) ⇒ HyperlinkCellData

Returns a new instance of HyperlinkCellData.



253
254
255
256
257
# File 'lib/write_xlsx/worksheet.rb', line 253

def initialize(worksheet, row, col, index, xf, link_type, url, str, tip)
  @worksheet = worksheet
  @row, @col, @token, @xf, @link_type, @url, @str, @tip =
    row, col, index, xf, link_type, url, str, tip
end

Instance Method Details

#dataObject



259
260
261
# File 'lib/write_xlsx/worksheet.rb', line 259

def data
  { :sst_id => token }
end

#write_cellObject



263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
# File 'lib/write_xlsx/worksheet.rb', line 263

def write_cell
  attributes = cell_attributes
  attributes << 't' << 's'
  @worksheet.writer.tag_elements('c', attributes) do
    @worksheet.write_cell_value(token)
  end

  if link_type == 1
    # External link with rel file relationship.
    @worksheet.rel_count += 1
    @worksheet.hlink_refs <<
      [
       link_type,    row,     col,
       @worksheet.rel_count, @str, @tip
      ]

    @worksheet.external_hyper_links << [ '/hyperlink', @url, 'External' ]
  elsif link_type
    # External link with rel file relationship.
    @worksheet.hlink_refs << [link_type, row, col, @url, @str, @tip ]
  end
end