function cbCellToNumber(cell_string, ret_also_column) {
    var cellNumber = 0
    var cellIndex = 0
    var cellMax = cell_string.length
    var rowId = 0

    // Converted from C++ (from DuckWriteC++):
    while (cellIndex < cellMax) {
      var curChar = cell_string.charCodeAt(cellIndex)
      if (curChar >= 0x30 && curChar <= 0x39) {
        rowId = parseInt(cell_string.slice(cellIndex), 10)
        rowId = rowId > 0 ? rowId - 1 : 0
        break
      } else if (curChar >= 0x41 && curChar <= 0x5a) {
        if (cellIndex > 0) {
          cellNumber++
          cellNumber *= 0x5b - 0x41
        } // Endif.

        cellNumber += curChar - 0x41
      } else if (curChar >= 0x61 && curChar <= 0x7a) {
        if (cellIndex > 0) {
          cellNumber++
          cellNumber *= 0x5b - 0x41
        } // Endif.

        cellNumber += curChar - 0x61
      } // Endif.

      cellIndex++
    } // End of while loop.

    if (ret_also_column) {
      return { row: rowId, column: cellNumber }
    } // Endif.

    return cellNumber
  }
Translate from the Excel displayed row name into index number.

@param {string} cell_string Either the cell displayed position or the row displayed position.
@param {boolean} ret_also_column ???.
@return The cell's row Id.