61 lines
2.2 KiB
HTML
61 lines
2.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta name="robots" content="noindex">
|
|
<title>SheetJS + Dojo Memory Store Demo</title>
|
|
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/dojo/1.14.1/dijit/themes/claro/claro.css">
|
|
</head>
|
|
<body class="claro">
|
|
<h1>SheetJS + Dojo Memory Store Demo</h1>
|
|
<br/>
|
|
This demo fetches <a href="https://docs.sheetjs.com/pres.xlsx">https://docs.sheetjs.com/pres.xlsx</a>, parses the file, generates a Memory store from the first worksheet, and loads a Combo box. When a President is selected, the text box will display the "Index" field from the dataset.
|
|
<br/>
|
|
(this HTML page is not minified -- feel free to view source!)<br/><br/>
|
|
<a href="https://docs.sheetjs.com">SheetJS CE Documentation</a><br/><br/>
|
|
<script>
|
|
dojoConfig = {
|
|
parseOnLoad: true,
|
|
packages: [
|
|
{ name: "xlsx", location: "https://cdn.sheetjs.com/xlsx-latest/package/dist", main: "xlsx.full.min" }
|
|
]
|
|
};
|
|
</script>
|
|
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.14.1/dojo/dojo.js" data-dojo-config=""></script>
|
|
<script>
|
|
require([
|
|
"dojo/ready",
|
|
"dojo/request/xhr",
|
|
"dojo/store/Memory",
|
|
"dijit/registry",
|
|
"xlsx"
|
|
], function(ready, xhr, Memory, registry, _XLSX) {
|
|
ready(function() {
|
|
/* fetch test file */
|
|
xhr("https://docs.sheetjs.com/pres.xlsx", {
|
|
headers: { "X-Requested-With": null },
|
|
handleAs: "arraybuffer"
|
|
}).then(function(ab) {
|
|
/* read ArrayBuffer */
|
|
var wb = XLSX.read(ab);
|
|
/* generate row objects from first worksheet */
|
|
var ws = wb.Sheets[wb.SheetNames[0]];
|
|
var aoo = XLSX.utils.sheet_to_json(ws);
|
|
|
|
/* generate memory store and assign to combo box*/
|
|
var store = new Memory({ data: aoo });
|
|
registry.byId("combo").store = store;
|
|
|
|
/* when a President is selected, display the index */
|
|
registry.byId("combo").watch("item", function(w, oitem, nitem) {
|
|
registry.byId("pindex").set("value", nitem.Index);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
</script>
|
|
<b>Select a president</b><br/>
|
|
<div id="combo" data-dojo-type="dijit/form/ComboBox" data-dojo-props="searchAttr:'Name'"></div><br/>
|
|
<b>Index of Selected President</b><br/>
|
|
<div id="pindex" data-dojo-type="dijit/form/TextBox"></div>
|
|
</body>
|
|
</html> |