forked from sheetjs/docs.sheetjs.com
		
	
		
			
	
	
		
			35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			React
		
	
	
	
	
	
		
		
			
		
	
	
			35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			React
		
	
	
	
	
	
| 
								 | 
							
								#include "xlsx.extendscript.js";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function main_parse() {
							 | 
						||
| 
								 | 
							
								  /* Show File Picker */
							 | 
						||
| 
								 | 
							
								  var thisFile = File.openDialog("Select a spreadsheet");
							 | 
						||
| 
								 | 
							
								  if(!thisFile) { alert("File not found!"); return; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* Read file from disk */
							 | 
						||
| 
								 | 
							
								  var workbook = XLSX.readFile(thisFile.absoluteURI);
							 | 
						||
| 
								 | 
							
								  var wsname = workbook.SheetNames[0];
							 | 
						||
| 
								 | 
							
								  var data = XLSX.utils.sheet_to_json(workbook.Sheets[wsname], { header: 1, raw: false });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* Set title */
							 | 
						||
| 
								 | 
							
								  app.activeDocument.textFrames.itemByName("Title").texts[0].contents = wsname;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* Set table */
							 | 
						||
| 
								 | 
							
								  var tabeller = app.activeDocument.textFrames.itemByName("Table Frame");
							 | 
						||
| 
								 | 
							
								  var columns = data[0].length;
							 | 
						||
| 
								 | 
							
								  for(var R = 0; R < data.length; ++R) columns = Math.max(columns, data[R].length);
							 | 
						||
| 
								 | 
							
								  var table = tabeller.tables.add({
							 | 
						||
| 
								 | 
							
								    headerRowCount: 1,
							 | 
						||
| 
								 | 
							
								    bodyRowCount: data.length - 1,
							 | 
						||
| 
								 | 
							
								    columnCount: columns
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								  for(R = 0; R < data.length; ++R) {
							 | 
						||
| 
								 | 
							
								    if(data[R] == null) continue;
							 | 
						||
| 
								 | 
							
								    for(var C = 0; C < data[R].length; ++C) {
							 | 
						||
| 
								 | 
							
								      if(data[R][C] == null) continue;
							 | 
						||
| 
								 | 
							
								      table.rows.item(R).cells.item(C).contents = data[R][C];
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								main_parse();
							 |