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, useTEXT
function to convert it to text before usingENCODEURL
.- 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 theHYPERLINK
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)"
]
]
}]
});
}
}