Import and export from XLSX files
This examples shows the JSS Parser and JSS Render premium extensions and required specific licenses. The extensions helps to convert a XLSX file into JSS and export a JSS spreadsheet to a XLSX file. Both extensions require a specific license.
The best results would be in combination with Jspreadsheet Version 8 with Formula Pro
Using CDN
<html>
<script src="https://jspreadsheet.com/v7/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/v7/jspreadsheet.css" type="text/css" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jszip.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@jspreadsheet/[email protected]/dist/index.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@jspreadsheet/[email protected]/dist/index.min.js"></script>
<div id="spreadsheet"></div>
<script>
// Set your license
jspreadsheet.license = 'N2Q2NzY0YzY1ZDhjNmM0NzI0YWJkMjM2NmY1Y2NiYzZmZmY0YTQ5Njk0NTU1Y2IzNmNjMzI5NDA0OWEwYmQxZGNiNWVkNjg4Yzc1NmU3ZDVkMDYxMDc2MGY4OGEwOWJlMTRkNDk3YWE1NGJmMGUyYTRmZDE4NjkzNjViZjExYmMsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVMk56a3pNRGswTENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5';
//Set extensions
jspreadsheet.setExtensions({ parser, render });
// Create the spreadsheet from a local file
let load = function(e) {
// Destroy any existing JSS
jspreadsheet.destroy(document.getElementById('spreadsheet'));
// Parse XLSX file and create a new spreadsheet
jspreadsheet.parser({
file: e.target.files[0],
onload: function(config) {
jspreadsheet(document.getElementById('spreadsheet'), config.worksheets);
},
});
}
let download = function() {
// Render receives the DOM Element
jspreadsheet.render(document.getElementById('spreadsheet'));
}
</script>
</html>
Using NPM
import React, {useRef, useEffect} from "content/docs/v7/examples/react";
import jspreadsheet from "jspreadsheet-pro";
import parser from "@jspreadsheet/parser";
import "jspreadsheet-pro/dist/jspreadsheet.css";
import "jsuites/dist/jsuites.css";
export default function App() {
const spreadsheetRef = useRef(null);
const license = "N2Q2NzY0YzY1ZDhjNmM0NzI0YWJkMjM2NmY1Y2NiYzZmZmY0YTQ5Njk0NTU1Y2IzNmNjMzI5NDA0OWEwYmQxZGNiNWVkNjg4Yzc1NmU3ZDVkMDYxMDc2MGY4OGEwOWJlMTRkNDk3YWE1NGJmMGUyYTRmZDE4NjkzNjViZjExYmMsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVMk56a3pNRGswTENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5";
jspreadsheet.license = license;
jspreadsheet.setExtensions({parser});
//Create the spreadsheet from a local file
let load = function (e) {
// Destroy any existing JSS
jspreadsheet.destroy(spreadsheetRef.current);
// Parse XLSX file and create a new spreadsheet
jspreadsheet.parser({
file: e.target.files[0],
onload: function (config) {
jspreadsheet(spreadsheetRef.current, config.worksheets);
}
});
};
return (
<div>
<div ref={spreadsheetRef}/>
<input type="file" name="file" id="file" onChange={(e) => load(e)}/>
</div>
);
}
Working Example on codesandbox
See a working data grid example with the option to import from XLSX and export to XLSX on codesandbox.