Spreadsheet worksheets
Allow users to add new worksheets to an existing spreadsheet.
<html>
<script src="https://jspreadsheet.com/v7/jspreadsheet.js"></script>
<script src="https://jsuites.net/v5/jsuites.js"></script>
<link rel="stylesheet" href="https://jspreadsheet.com/v7/jspreadsheet.css" type="text/css" />
<link rel="stylesheet" href="https://jsuites.net/v5/jsuites.css" type="text/css" />
<div id="spreadsheet"></div>
<script>
let data = [
["1","DIVINELY UNINSPIRED TO A HELLISH EXTENT","LEWIS CAPALDI"],
["2","NO 6 COLLABORATIONS PROJECT","ED SHEERAN"],
["3","THE GREATEST SHOWMAN","MOTION PICTURE CAST RECORDING"],
["4","WHEN WE ALL FALL ASLEEP WHERE DO WE GO","BILLIE EILISH"]
];
let spreadsheet = jspreadsheet(document.getElementById('spreadsheet'), {
data: data,
columns: [
{ type: 'autonumber', title: 'Id' },
{ type: 'text', width: '350px', title: 'Title' },
{ type: 'text', width: '250px', title: 'Artist' },
],
// Allow create tabs
tabs: true,
// Handler to specify the configuration for the new worksheets
onbeforecreateworksheet: function() {
let options = {
minDimensions: [5,5],
license: 'NjA2OTZiODZlNzUxNTY3NWRlMmFlOWE3ZTgwMDdhOTkwZjZhNjJlODJmYjc2Nzc1NTJkYTc1NjVkYTM5MTI0YTU5ODZmYjA5ZDU4YWIyMTlhMDM5MDM0MjgyYjMzOWY4MDQ1MGZiZjFmMWQxOTZjM2VmODMxZWM3M2I0MWQ4OTYsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVMk56a3pNekEyTENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5',
}
return options;
},
license: 'NjA2OTZiODZlNzUxNTY3NWRlMmFlOWE3ZTgwMDdhOTkwZjZhNjJlODJmYjc2Nzc1NTJkYTc1NjVkYTM5MTI0YTU5ODZmYjA5ZDU4YWIyMTlhMDM5MDM0MjgyYjMzOWY4MDQ1MGZiZjFmMWQxOTZjM2VmODMxZWM3M2I0MWQ4OTYsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVMk56a3pNekEyTENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5',
onopenworksheet: function(element, instance, worksheetNumber) {
console.log(element, instance, worksheetNumber);
}
});
let create = function() {
spreadsheet.createWorksheet({
minDimensions: [10,10],
license: 'NjA2OTZiODZlNzUxNTY3NWRlMmFlOWE3ZTgwMDdhOTkwZjZhNjJlODJmYjc2Nzc1NTJkYTc1NjVkYTM5MTI0YTU5ODZmYjA5ZDU4YWIyMTlhMDM5MDM0MjgyYjMzOWY4MDQ1MGZiZjFmMWQxOTZjM2VmODMxZWM3M2I0MWQ4OTYsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVMk56a3pNekEyTENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5',
});
}
document.getElementById("createbtn").onclick = () => create()
</script>
<input type='button' value='Create a new tab' id="createbtn">
</html>
Properties
Property | Description |
---|---|
tabs | Show tabs and allow the user to create new worksheets. Default: false |
worksheetName | Worksheet title. Default: Sheet {number} |
allowDeleteWorksheet | Add a delete worksheet option to the contextMenu. Default: true |
allowRenameWorksheet | Add a rename worksheet option to the contextMenu. Default: true |
allowMoveWorksheet | Allow worksheet drag and drop options. Default: true |
Methods
Property | Description |
---|---|
createWorksheet(object) | Create a new table worksheet based on a given configuration. createWorksheet(configuration: object) |
getWorksheet(object) | Get the worksheet position based on a table instance. getWorksheet(instance: object) => number |
openWorksheet(number) | Set worksheet as active by worksheetNumber starting in zero. openWorksheet(worksheetNumber: number) |
renameWorksheet(number, string) | Change a worksheet title. renameWorksheet(worksheetNumber: number, worksheetName: string) |
deleteWorksheet(number) | Delete worksheet. deleteWorksheet(worksheetNumber: number) |
Events
Event | Description |
---|---|
onbeforecreateworksheet | Before create a new worksheet, should return the configuration of the new table |
oncreateworksheet | When a new worksheet is created |
onrenameworksheet | when a worksheet is renamed |
ondeleteworksheet | When a worksheet is deleted |
onmoveworksheet | When a worksheet position is changed |
onopenworksheet | When a worksheet is opened |