22 lines
		
	
	
		
			641 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			641 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const XLSX = require("xlsx");
 | |
| 
 | |
| /* list of file extensions */
 | |
| const exts = [ "numbers", "xlsx", "xlsb", "xls" ].join(", ");
 | |
| 
 | |
| module.exports = (eleventyConfig) => {
 | |
|   eleventyConfig.addDataExtension(exts, {
 | |
|     /* read file and pass raw Buffer object to parser */
 | |
|     // highlight-next-line
 | |
|     encoding: null, read: true,
 | |
| 
 | |
|     /* parser callback */
 | |
|     parser: (contents) => {
 | |
|       /* contents is the data stored as a Buffer */
 | |
|       // highlight-next-line
 | |
|       const wb = XLSX.read(contents);
 | |
|       /* generate array of row objects from first worksheet */
 | |
|       return XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);
 | |
|     }
 | |
|   });
 | |
| };
 |