Parser e generatore di file excel NodeJS

Blog

Parser e generatore di file excel NodeJS

Nodo XLSX

Parser/costruttore di file Excel che si basa su js-xlsx .



Utilizzo

Installazione

npm install node-xlsx --save

Esempi

  1. L'analisi di un xlsx da file/buffer, genera una serie di fogli di lavoro
import xlsx from 'node-xlsx'; // Or var xlsx = require('node-xlsx').default; // Parse a buffer const workSheetsFromBuffer = xlsx.parse(fs.readFileSync(`${__dirname}/myFile.xlsx`)); // Parse a file const workSheetsFromFile = xlsx.parse(`${__dirname}/myFile.xlsx`);
  1. Costruire un xlsx
import xlsx from 'node-xlsx'; // Or var xlsx = require('node-xlsx').default; const data = [[1, 2, 3], [true, false, null, 'sheetjs'], ['foo', 'bar', new Date('2014-02-19T14:30Z'), '0.3'], ['baz', null, 'qux']]; var buffer = xlsx.build([{name: 'mySheetName', data: data}]); // Returns a buffer
  • Larghezza colonna personalizzata
import xlsx from 'node-xlsx'; // Or var xlsx = require('node-xlsx').default; const data = [[1, 2, 3], [true, false, null, 'sheetjs'], ['foo', 'bar', new Date('2014-02-19T14:30Z'), '0.3'], ['baz', null, 'qux']] const options = {'!cols': [{ wch: 6 }, { wch: 7 }, { wch: 10 }, { wch: 20 } ]}; var buffer = xlsx.build([{name: 'mySheetName', data: data}], options); // Returns a buffer
  • Su più righe |_+_| in ogni foglio
A1:A4
  • Su più righe |_+_| solo nel secondo foglio
import xlsx from 'node-xlsx'; // Or var xlsx = require('node-xlsx').default; const data = [[1, 2, 3], [true, false, null, 'sheetjs'], ['foo', 'bar', new Date('2014-02-19T14:30Z'), '0.3'], ['baz', null, 'qux']]; const range = {s: {c: 0, r:0 }, e: {c:0, r:3}}; // A1:A4 const options = {'!merges': [ range ]}; var buffer = xlsx.build([{name: 'mySheetName', data: data}], options); // Returns a buffer

Fai attenzione che se provi a unire più volte la stessa cella, il tuo file xlsx verrà visto come danneggiato.



  • Utilizzo della notazione oggetto primitiva I valori dei dati possono essere specificati anche in una rappresentazione non astratta.

Esempi:

A1:A4

Fare riferimento a xlsx documentazione per struttura e valori validi:



Risoluzione dei problemi

Questa libreria richiede almeno nodeJS v4. Per le versioni legacy, puoi utilizzare questa soluzione alternativa prima di utilizzare lib.

import xlsx from 'node-xlsx'; // Or var xlsx = require('node-xlsx').default; const dataSheet1 = [[1, 2, 3], [true, false, null, 'sheetjs'], ['foo', 'bar', new Date('2014-02-19T14:30Z'), '0.3'], ['baz', null, 'qux']]; const dataSheet2 = [[4, 5, 6], [7, 8, 9, 10], [11, 12, 13, 14], ['baz', null, 'qux']]; const range = {s: {c: 0, r:0 }, e: {c:0, r:3}}; // A1:A4 const sheetOptions = {'!merges': [ range ]}; var buffer = xlsx.build([{name: 'myFirstSheet', data: dataSheet1}, {name: 'mySecondSheet', data: dataSheet2, options: sheetOptions}]); // Returns a buffer

Contribuire

Si prega di inviare tutte le richieste pull al branch master. Se il tuo test di unità contiene patch o funzionalità javascript, dovresti includere test di unità pertinenti. Grazie!

Script disponibili

sceneggiatura Descrizione
cominciare Alias ​​di prova: orologio
test Esegui i test unitari per la moka
prova: guarda Esegui e guarda i test unitari della moka
lanugine Esegui test statici eslint
compilare Compila la libreria
compila: guarda Compila e guarda la libreria

Autori

Olivier Louvignes

Scarica i dettagli:

Autore: mgcrea

Codice sorgente: https://github.com/mgcrea/node-xlsx

#nodejs #node #node-js #javascript