Skip to Content
๐Ÿ“š Tutorial๐Ÿ“š Random JS Libxlsx

xlsx

Basic start up

https://www.npmjs.com/package/xlsxย 

  1. If you are using nodejs
Terminal
npm i xlsx
  1. If you are using react / HTML not nodejs environmentโ€ฆ
Terminal
npm i https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz

1. Read file to JSON array (Nodejs)

server.ts
async function readFile(i:number): object[] { const workbook = XLSX.readFile('004.xlsx'); // Sheet path const first_worksheet = workbook.Sheets[workbook.SheetNames[i]]; // Which work sheet const data = XLSX.utils.sheet_to_json(first_worksheet, { header: 1 }); return data; }

2. Read file to JSON array (React.js / HTML)

xlsxUtils.ts
import XLSX from "xlsx"; async function readFileToBuffer(inputFile: File): Promise<Uint8Array> { return new Promise((rec) => { let reader = new FileReader(); reader.onload = function () { const arrayBuffer = new Uint8Array(reader.result as ArrayBuffer); rec(arrayBuffer); }; reader.readAsArrayBuffer(inputFile); }); } // https://docs.sheetjs.com/docs/api/utilities/array#array-output export async function readXlsxFileToJsonScheme(inputFile: File) { try { const arrayBuffer = await readFileToBuffer(inputFile); // Convert the Excel buffer to a workbook const workbook = XLSX.read(arrayBuffer, { type: "array", cellDates: true, dateNF: 'dd"/"mm"/"yyyy', // raw: true }); // Get the first sheet const sheetName = workbook.SheetNames[0]; const sheet = workbook.Sheets[sheetName]; // Convert the sheet data to JSON const jsonData: any = XLSX.utils.sheet_to_json(sheet, { header: 1, blankrows: false, defval: null, raw: false }); // Map the array to an array of objects const resultArray = jsonData.map((row: any) => { const obj = {} as any; for (let i = 0; i < jsonData[0].length; i++) { obj[jsonData[0][i]] = row[i]; } return obj; }); const noHeaderLs = resultArray.slice(1); return noHeaderLs; } catch (error) { console.log(error); } }
Last updated on