def write_string(*args)
      # Check for a cell reference in A1 notation and substitute row and column
      row, col, str, xf = row_col_notation(args)
      str &&= str.to_s
      raise WriteXLSXInsufficientArgumentError if [row, col, str].include?(nil)

      # Check that row and col are valid and store max and min values
      check_dimensions(row, col)
      store_row_col_max_min_values(row, col)

      index = shared_string_index(str[0, STR_MAX])

      store_data_to_table(StringCellData.new(self, row, col, index, xf))
    end
def write_string(*args)
      # Check for a cell reference in A1 notation and substitute row and column
      row, col, str, xf = row_col_notation(args)
      str &&= str.to_s
      raise WriteXLSXInsufficientArgumentError if [row, col, str].include?(nil)

      # Check that row and col are valid and store max and min values
      check_dimensions(row, col)
      store_row_col_max_min_values(row, col)

      index = shared_string_index(str[0, STR_MAX])

      store_data_to_table(StringCellData.new(self, row, col, index, xf))
    end
:call-seq:
   write_string(row, column, string [, format ] )

 Write a string to the specified row and column (zero indexed).
 +format+ is optional.

     worksheet.write_string(0, 0, 'Your text here')
     worksheet.write_string('A2', 'or here')

 The maximum string size is 32767 characters. However the maximum
 string segment that Excel can display in a cell is 1000.
 All 32767 characters can be displayed in the formula bar.

 In general it is sufficient to use the {#write()}[#method-i-write] method.
 However, you may sometimes wish to use the write_string() method
 to write data that looks like a number but that you don't want
 treated as a number. For example, zip codes or phone numbers:

     # Write as a plain string
     worksheet.write_string('A1', '01209')

 However, if the user edits this string Excel may convert it back
 to a number. To get around this you can use the Excel text format @:

     # Format as a string. Doesn't change to a number when edited
     format1 = workbook.add_format(:num_format => '@')
     worksheet.write_string('A2', '01209', format1)