Products

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 = 'ZmFiNjBiOTIyYTc3Yjk1ZmM0YmYxZjg0ODE3NjEzN2Y5ZTk1NzM4OTNhYjY5OGMxOTFjMDFlMmZhN2Q4NWQ2ZTg2NGQxNTZlYjVkMDU3YzFhMzkwOTgyMzllY2ExM2MxZTk3ZTVlMjI1MzgxODM4YTIyMzE0NDk5NzA4OTMxMmYsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpZd01qWXdOVEV3TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0ltTm9ZWEowY3lJc0ltWnZjbTF6SWl3aVptOXliWFZzWVNJc0luQmhjbk5sY2lJc0luSmxibVJsY2lJc0ltTnZiVzFsYm5Seklpd2lhVzF3YjNKMFpYSWlMQ0ppWVhJaUxDSjJZV3hwWkdGMGFXOXVjeUlzSW5ObFlYSmphQ0lzSW5CeWFXNTBJaXdpYzJobFpYUnpJaXdpWTJ4cFpXNTBJaXdpYzJWeWRtVnlJaXdpYzJoaGNHVnpJaXdpWm05eWJXRjBJbDBzSW1SbGJXOGlPblJ5ZFdWOQ==';

//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 = "ZmFiNjBiOTIyYTc3Yjk1ZmM0YmYxZjg0ODE3NjEzN2Y5ZTk1NzM4OTNhYjY5OGMxOTFjMDFlMmZhN2Q4NWQ2ZTg2NGQxNTZlYjVkMDU3YzFhMzkwOTgyMzllY2ExM2MxZTk3ZTVlMjI1MzgxODM4YTIyMzE0NDk5NzA4OTMxMmYsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpZd01qWXdOVEV3TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0ltTm9ZWEowY3lJc0ltWnZjbTF6SWl3aVptOXliWFZzWVNJc0luQmhjbk5sY2lJc0luSmxibVJsY2lJc0ltTnZiVzFsYm5Seklpd2lhVzF3YjNKMFpYSWlMQ0ppWVhJaUxDSjJZV3hwWkdGMGFXOXVjeUlzSW5ObFlYSmphQ0lzSW5CeWFXNTBJaXdpYzJobFpYUnpJaXdpWTJ4cFpXNTBJaXdpYzJWeWRtVnlJaXdpYzJoaGNHVnpJaXdpWm05eWJXRjBJbDBzSW1SbGJXOGlPblJ5ZFdWOQ==";

    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.

https://codesandbox.io/s/jss-spreadsheet-to-xlsx-z0sol