2023-11-28 07:05:59 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								<!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 / > 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-26 04:16:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  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.
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 07:05:59 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  < 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 */
							 
						 
					
						
							
								
									
										
										
										
											2024-04-26 04:16:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    xhr("https://docs.sheetjs.com/pres.xlsx", {
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 07:05:59 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      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 >