Products

ENCODEURL function

PRO

In Jspreadsheet Formulas Pro, the ENCODEURL function is used to make a piece of text suitable for inclusion in a URL. This means it converts the text in a way that can be safely added to a web address without causing errors. It's especially useful when you're working with dynamic data that needs to be inserted into URLs, as it ensures that the text will not break the URL structure.

Documentation

The ENCODEURL function encodes a text string for use as a valid part of a URL.

Category

Web

Syntax

ENCODEURL(text)

Parameter Description
text The text string to encode.

Behavior

The ENCODEURL function is used to encode a URL or other text string to be URL safe. This function replaces unsafe ASCII characters with a "%" followed by two hexadecimal digits representing the character values according to standard URL percent-encoding rules (UTF-8 encoding).

  • When given a text string, it will return the encoded URL.
  • If the input cell is empty, the function will return an empty string.
  • Numbers will be treated as text and be encoded accordingly.
  • Boolean values (TRUE/FALSE) will be treated as text strings and encoded.
  • The function does not evaluate errors, it simply encodes the error message as a text string.

Common Errors

Error Description
#VALUE! This error occurs when the given argument is not a text string. For example, if the input is a range of cells or an array.

Best practices

  • Always ensure that the input to ENCODEURL function is a text string. If you are unsure about the data type, use TEXT function to convert it to text before using ENCODEURL.
  • Remember that the ENCODEURL function will not make the URL clickable in the spreadsheet. If you want a clickable URL, you may need to use the HYPERLINK function.
  • Avoid using ENCODEURL on an entire array or a range of cells as it may result in a #VALUE! error.
  • Use ENCODEURL when you want to share a URL through mediums that may not support certain characters in the URL. This helps in preventing the URL from breaking.

Usage

A few examples using the ENCODEURL function.

ENCODEURL('https://www.example.com/page?item=apples & oranges')  
→ https%3A%2F%2Fwww.example.com%2Fpage%3Fitem%3Dapples%20%26%20oranges  

ENCODEURL('apples&oranges')  
→ apples%26oranges  

ENCODEURL('Hello World!')  
→ Hello%20World%21  

ENCODEURL(A2)  
→ Encoded version of the text in cell A2  

Interactive Spreadsheet Demo

<html>
<script src="https://jspreadsheet.com/v11/jspreadsheet.js"></script>
<script src="https://jsuites.net/v5/jsuites.js"></script>
<link rel="stylesheet" href="https://jsuites.net/v5/jsuites.css" type="text/css" />
<link rel="stylesheet" href="https://jspreadsheet.com/v11/jspreadsheet.css" type="text/css" />

<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Material+Icons" />
<script src="https://cdn.jsdelivr.net/npm/@jspreadsheet/formula-pro/dist/index.min.js"></script>

<div id="spreadsheet"></div>

<script>
// Set your JSS license key (The following key only works for one day)
jspreadsheet.setLicense('MGQ3NjA3MTY0ZDBhMmRlYTI0M2I3YmY2ZTI1NTk2NDFlYzY2OGUzOGY4Y2Y0MzkwMTZmNGIwZTI5Mzk4YTdmMDIwMDczMDcyYjI5MjVjOGJhMzZlMDUyY2IwYjJkZmVkOTU2OTM5MThkNWI2MTA0NjhmNDRiMDcwNjIzYmVlYjUsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVMk56a3lOek14TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');

// Set the extensions
jspreadsheet.setExtensions({ formula });

// Create a new spreadsheet
jspreadsheet(document.getElementById('spreadsheet'), {
  worksheets: [{
    data: [
    [
        "Original Text",
        "Encoded URL"
    ],
    [
        "hello world",
        "=ENCODEURL(A2)"
    ],
    [
        "search?q=cats&dogs",
        "=ENCODEURL(A3)"
    ],
    [
        "https://site.com/page",
        "=ENCODEURL(A4)"
    ],
    [
        "[email protected]",
        "=ENCODEURL(A5)"
    ]
]
  }]
});
</script>
</html>
import React, { useRef } from "react";
import { Spreadsheet, Worksheet, jspreadsheet } from "@jspreadsheet/react";
import formula from "@jspreadsheet/formula-pro";
import "jsuites/dist/jsuites.css";
import "jspreadsheet/dist/jspreadsheet.css";

// Set license
jspreadsheet.setLicense('MGQ3NjA3MTY0ZDBhMmRlYTI0M2I3YmY2ZTI1NTk2NDFlYzY2OGUzOGY4Y2Y0MzkwMTZmNGIwZTI5Mzk4YTdmMDIwMDczMDcyYjI5MjVjOGJhMzZlMDUyY2IwYjJkZmVkOTU2OTM5MThkNWI2MTA0NjhmNDRiMDcwNjIzYmVlYjUsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVMk56a3lOek14TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');

// Set the extensions
jspreadsheet.setExtensions({ formula });

export default function App() {
    // Spreadsheet array of worksheets
    const spreadsheet = useRef();

    // Worksheet data
    const data = [
    [
        "Original Text",
        "Encoded URL"
    ],
    [
        "hello world",
        "=ENCODEURL(A2)"
    ],
    [
        "search?q=cats&dogs",
        "=ENCODEURL(A3)"
    ],
    [
        "https://site.com/page",
        "=ENCODEURL(A4)"
    ],
    [
        "[email protected]",
        "=ENCODEURL(A5)"
    ]
];

    // Render component
    return (
        <Spreadsheet ref={spreadsheet}>
            <Worksheet data={data} />
        </Spreadsheet>
    );
}
<template>
    <Spreadsheet ref="spreadsheet">
        <Worksheet :data="data" />
    </Spreadsheet>
</template>

<script>
import { Spreadsheet, Worksheet, jspreadsheet } from "@jspreadsheet/vue";
import "jsuites/dist/jsuites.css";
import "jspreadsheet/dist/jspreadsheet.css";
import formula from "@jspreadsheet/formula-pro";

// Set license
jspreadsheet.setLicense('MGQ3NjA3MTY0ZDBhMmRlYTI0M2I3YmY2ZTI1NTk2NDFlYzY2OGUzOGY4Y2Y0MzkwMTZmNGIwZTI5Mzk4YTdmMDIwMDczMDcyYjI5MjVjOGJhMzZlMDUyY2IwYjJkZmVkOTU2OTM5MThkNWI2MTA0NjhmNDRiMDcwNjIzYmVlYjUsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVMk56a3lOek14TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');

// Set the extensions
jspreadsheet.setExtensions({ formula });

export default {
    components: {
        Spreadsheet,
        Worksheet,
    },
    data() {
        // Worksheet data
        const data = [
    [
        "Original Text",
        "Encoded URL"
    ],
    [
        "hello world",
        "=ENCODEURL(A2)"
    ],
    [
        "search?q=cats&dogs",
        "=ENCODEURL(A3)"
    ],
    [
        "https://site.com/page",
        "=ENCODEURL(A4)"
    ],
    [
        "[email protected]",
        "=ENCODEURL(A5)"
    ]
]

        return {
            data
        };
    }
}
</script>
import { Component, ViewChild, ElementRef } from "@angular/core";
import jspreadsheet from "jspreadsheet";
import * as formula from "@jspreadsheet/formula-pro";

// Set your JSS license key (The following key only works for one day)
jspreadsheet.setLicense('MGQ3NjA3MTY0ZDBhMmRlYTI0M2I3YmY2ZTI1NTk2NDFlYzY2OGUzOGY4Y2Y0MzkwMTZmNGIwZTI5Mzk4YTdmMDIwMDczMDcyYjI5MjVjOGJhMzZlMDUyY2IwYjJkZmVkOTU2OTM5MThkNWI2MTA0NjhmNDRiMDcwNjIzYmVlYjUsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVMk56a3lOek14TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');

// Set the extensions
jspreadsheet.setExtensions({ formula });

@Component({
    standalone: true,
    selector: "app-root",
    template: `<div #spreadsheet></div>`
})
export class AppComponent {
    @ViewChild("spreadsheet") spreadsheet: ElementRef;
    // Worksheets
    worksheets: jspreadsheet.worksheetInstance[];

    // Create a new data grid
    ngAfterViewInit() {
        // Create spreadsheet
        this.worksheets = jspreadsheet(this.spreadsheet.nativeElement, {
            worksheets: [{
                data: [
    [
        "Original Text",
        "Encoded URL"
    ],
    [
        "hello world",
        "=ENCODEURL(A2)"
    ],
    [
        "search?q=cats&dogs",
        "=ENCODEURL(A3)"
    ],
    [
        "https://site.com/page",
        "=ENCODEURL(A4)"
    ],
    [
        "[email protected]",
        "=ENCODEURL(A5)"
    ]
]
            }]
        });
    }
}