Learn how to create XLS, XLSX from an array and save it to mobile filesystem using JavaScript, Angular, Ionic, Node and Capacitor
Create Excel file instead of CSV using Javascript. The input is a simple JS array and the output is a Excel file like XLS, XLSX, etc.
NPM packages:
capacitor-blob-writer
xlsx
capacitor/filesystem
import { Directory } from '@capacitor/filesystem';
import write_blob from 'capacitor-blob-writer';
import * as XLSX from 'xlsx';
const EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';
const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(lines);
// eslint-disable-next-line
const workbook: XLSX.WorkBook = { Sheets: { data: worksheet }, SheetNames: ['data'] };
const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });
const excelData: Blob = new Blob([excelBuffer], {
type: EXCEL_TYPE
});
write_blob({
path: 'Simulation.xlsx',
directory: Directory.Documents,
blob: excelData
}).then(function(x){
window.alert('Data saved to Documents');
}).catch(function(e){
window.alert(e);
});
AndroidManifest.xml:
application android:requestLegacyExternalStorage="true"