forked from sheetjs/docs.sheetjs.com
		
	
		
			
	
	
		
			25 lines
		
	
	
		
			879 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			25 lines
		
	
	
		
			879 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								#!/usr/bin/env -S deno run --allow-read
							 | 
						||
| 
								 | 
							
								/*! sheetjs (C) 2013-present SheetJS -- https://sheetjs.com */
							 | 
						||
| 
								 | 
							
								// @deno-types="https://cdn.sheetjs.com/xlsx-latest/package/types/index.d.ts"
							 | 
						||
| 
								 | 
							
								import * as XLSX from 'https://cdn.sheetjs.com/xlsx-latest/package/xlsx.mjs';
							 | 
						||
| 
								 | 
							
								import * as cptable from 'https://cdn.sheetjs.com/xlsx-latest/package/dist/cpexcel.full.mjs';
							 | 
						||
| 
								 | 
							
								XLSX.set_cptable(cptable);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Read and parse workbook */
							 | 
						||
| 
								 | 
							
								const filename = Deno.args[0];
							 | 
						||
| 
								 | 
							
								if(!filename) {
							 | 
						||
| 
								 | 
							
								  console.error("usage: sheet2csv <filename> [sheetname]");
							 | 
						||
| 
								 | 
							
								  Deno.exit(1);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								const workbook = XLSX.readFile(filename);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Find worksheet */
							 | 
						||
| 
								 | 
							
								const sheetname = Deno.args[1] || workbook.SheetNames[0];
							 | 
						||
| 
								 | 
							
								if(!workbook.Sheets[sheetname]) {
							 | 
						||
| 
								 | 
							
								  console.error(`error: workbook missing sheet ${sheetname}`);
							 | 
						||
| 
								 | 
							
								  Deno.exit(1);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Generate CSV and print to stdout */
							 | 
						||
| 
								 | 
							
								console.log(XLSX.utils.sheet_to_csv(workbook.Sheets[sheetname]));
							 |