forked from sheetjs/docs.sheetjs.com
		
	
		
			
	
	
		
			23 lines
		
	
	
		
			774 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			23 lines
		
	
	
		
			774 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								const XLSX = require("xlsx");
							 | 
						||
| 
								 | 
							
								const { readFileSync } = require("fs");
							 | 
						||
| 
								 | 
							
								const { Window } = require("happy-dom");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* obtain HTML string.  This example reads from SheetJSTable.html */
							 | 
						||
| 
								 | 
							
								const html_str = readFileSync("SheetJSTable.html", "utf8");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* get table element */
							 | 
						||
| 
								 | 
							
								const window = new Window({
							 | 
						||
| 
								 | 
							
								    url: "https://localhost:8080",
							 | 
						||
| 
								 | 
							
								    width: 1024,
							 | 
						||
| 
								 | 
							
								    height: 768
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								window.document.body.innerHTML = html_str;
							 | 
						||
| 
								 | 
							
								const tbl = window.document.body.getElementsByTagName("table")[0];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* add `rows` and `cells` properties */
							 | 
						||
| 
								 | 
							
								tbl.rows = Array.from(tbl.getElementsByTagName("tr"));
							 | 
						||
| 
								 | 
							
								tbl.rows.forEach(row => row.cells = Array.from(row.getElementsByTagName("td")))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* generate workbook */
							 | 
						||
| 
								 | 
							
								const workbook = XLSX.utils.table_to_book(tbl);
							 | 
						||
| 
								 | 
							
								XLSX.writeFile(workbook, "SheetJSHappyDOM.xlsx");
							 |