Skip to content

Instantly share code, notes, and snippets.

View th91vi's full-sized avatar
🏠
Working from home

Thiago Vieira th91vi

🏠
Working from home
View GitHub Profile
@th91vi
th91vi / flattenArray.js
Created August 8, 2023 12:19
Flatten array
const array = [1, [2, [3]], 4, []];
const flatter = (array) => {
let flatArray = [];
array.forEach((item, index) => {
if (Array.isArray(item)) {
flatArray = flatArray.concat(flatter(array[index]));
} else {
flatArray.push(item);
}
@th91vi
th91vi / generateSpreadsheet.js
Created November 20, 2020 19:31
Function to generate on the fly Excel spreadsheets, using Sheetjs/xlsx
import xlsx from 'xlsx';
const generateSpreadsheet = (data) => {
const data = xlsx.utils.json_to_sheet(data);
const workBook = xlsx.utils.book_new();
xlsx.utils.book_append_sheet(workBook, data, 'example spreadsheet');
xlsx.writeFile(workBook, 'example spreadsheet.xlsx');
};
@th91vi
th91vi / generateTableReport.js
Last active November 20, 2020 19:35
Function to generate on the fly PDF containing tables, using jsPDF, jsPDF-autotable and moment
import jsPDF from 'jspdf';
import 'jspdf-autotable';
import moment from 'moment';
const generateTableReport = (data) => {
// assuming your data is an array, inside an object
const { entries } = data;
const report = jsPDF();