Bibliotecă Node.js gratuită pentru a crea mai multe grafice Excel

Cea mai bună bibliotecă open source Node.js pentru generarea de grafice simple și avansate în foaia de calcul Excel. Creează multiple grafice într-un singur fișier, grafice pentru descărcări web și grafic dintr-un șablon în Node.js.

Ce este XLSX-Chart?

Dacă lucrezi în Node.js și ai nevoie să generezi fișiere Excel cu grafice încorporate, pachetul open‑source XLSX‑Chart este o opțiune foarte bună de luat în considerare. Multe biblioteci permit generarea de foi de lucru Excel, setarea valorilor celulelor etc., dar puține susțin grafice/diagrame încorporate în XLSX. XLSX‑Chart acoperă această lacună. API‑ul este destul de simplu — specifici tipul graficului, titlurile, câmpurile, datele și apoi scrii fișierul. Acceptă mai multe tipuri (coloană, bară, linie, zonă, radar, dispersie, plăcintă) astfel încât să poți alege ce se potrivește cel mai bine datelor tale. Dacă ai nevoie de mai mult control (layout, stiluri), poți furniza propriul șablon Excel pe care să se bazeze generarea graficului.

XLSX‑Chart este un pachet Node.js ușor, dezvoltat de Dmitriy Samortsev, care permite dezvoltatorilor să creeze grafice Excel programatic în interiorul aplicațiilor Node.js. Îți oferă metode pentru a scrie direct într-un fișier sau pentru a genera date binare (pentru descărcare prin HTTP), ceea ce este util în aplicațiile web. Biblioteca abstractizează complexitatea lucrului cu formatul Open XML al Excel, oferind un API intuitiv pentru generarea diverselor tipuri de grafice. Indiferent dacă construiești tablouri de bord de business‑intelligence, sisteme de raportare automate sau instrumente de analiză a datelor, XLSX‑Chart oferă o soluție simplă pentru generarea graficelor Excel. API‑ul său intuitiv, suportul pentru multiple tipuri de grafice și opțiunile flexibile de ieșire îl fac o alegere excelentă pentru dezvoltatorii care construiesc sisteme de raportare, instrumente de business‑intelligence sau aplicații de vizualizare a datelor.

Previous Next

Începerea utilizării XLSX-Chart

Pentru a instala XLSX-Chart, puteți folosi npm, managerul de pachete pentru JavaScript. Vă rugăm să utilizați comenzile de mai jos pentru o instalare reușită.

Instalare XLSX-Chart prin npm

npm install xlsx-chart

Puteți descărca biblioteca partajată compilată din depozitul GitHub și să o instalați.

Crearea unui grafic simplu de tip coloană în Node.js

Biblioteca open source XLSX-Chart include suport complet pentru crearea de grafice simple și avansate în foile de calcul Excel din aplicațiile Node.js. Exemplul de cod de mai jos creează un grafic de tip coloană care compară vânzările trimestriale din patru produse. Array‑ul de titluri reprezintă seria de date (trimestre), în timp ce câmpurile reprezintă categoriile (produse). Obiectul de date conține valorile reale pentru fiecare combinație.

Cum să creezi un grafic simplu Excel ce arată vânzările trimestriale în Node.js?

var XLSXChart = require("xlsx-chart");
var xlsxChart = new XLSXChart();

var opts = {
    file: "sales-report.xlsx",
    chart: "column",
    titles: [
        "Q1 Sales",
        "Q2 Sales",
        "Q3 Sales"
    ],
    fields: [
        "Product A",
        "Product B",
        "Product C",
        "Product D"
    ],
    data: {
        "Q1 Sales": {
            "Product A": 5,
            "Product B": 10,
            "Product C": 15,
            "Product D": 20
        },
        "Q2 Sales": {
            "Product A": 10,
            "Product B": 5,
            "Product C": 20,
            "Product D": 15
        },
        "Q3 Sales": {
            "Product A": 20,
            "Product B": 15,
            "Product C": 10,
            "Product D": 5
        }
    }
};

xlsxChart.writeFile(opts, function(err) {
    if (err) {
        console.error("Error generating chart:", err);
    } else {
        console.log("Chart created successfully:", opts.file);
    }
});

Crearea mai multor grafice într-un singur fișier în Node.js

Una dintre funcțiile puternice ale XLSX-Chart este generarea de multiple grafice într-un singur registru de lucru din aplicațiile Node.js. Biblioteca permite dezvoltatorilor să creeze grafice cu valori personalizate și vizualizări multiple. Exemplul de cod de mai jos arată cum dezvoltatorii pot crea un raport cuprinzător cu trei tipuri diferite de grafice. Array‑ul charts permite definirea mai multor vizualizări, fiecare cu propria configurație. Proprietatea chartTitle oferă fiecărui grafic un nume descriptiv. Aceasta este deosebit de utilă pentru dashboard‑uri executive sau rapoarte analitice detaliate.

Cum să creezi mai multe grafice într-un singur fișier în aplicațiile Node.js?

let fs = require("fs");
let XLSXChart = require("xlsx-chart");
let xlsxChart = new XLSXChart();

let opts = {
    charts: [{
        chart: "column",
        titles: ["2023", "2024"],
        fields: ["Jan", "Feb", "Mar", "Apr"],
        data: {
            "2023": {
                "Jan": 100,
                "Feb": 120,
                "Mar": 140,
                "Apr": 130
            },
            "2024": {
                "Jan": 110,
                "Feb": 135,
                "Mar": 150,
                "Apr": 145
            }
        },
        chartTitle: "Monthly Performance Comparison"
    }, {
        chart: "line",
        titles: ["Website Traffic", "Mobile Traffic"],
        fields: ["Week 1", "Week 2", "Week 3", "Week 4"],
        data: {
            "Website Traffic": {
                "Week 1": 5000,
                "Week 2": 5500,
                "Week 3": 6000,
                "Week 4": 6200
            },
            "Mobile Traffic": {
                "Week 1": 3000,
                "Week 2": 3500,
                "Week 3": 4200,
                "Week 4": 4800
            }
        },
        chartTitle: "Traffic Analysis"
    }, {
        chart: "pie",
        titles: ["Market Share"],
        fields: ["Company A", "Company B", "Company C", "Others"],
        data: {
            "Market Share": {
                "Company A": 35,
                "Company B": 28,
                "Company C": 22,
                "Others": 15
            }
        },
        chartTitle: "Market Distribution"
    }]
};

xlsxChart.generate(opts, function(err, data) {
    if (err) {
        console.error("Error:", err);
        return;
    }
    fs.writeFileSync("comprehensive-report.xlsx", data);
    console.log("Multi-chart report created successfully!");
});


require('fs').writeFileSync('inventory.xlsx', report);

Generarea de grafice pentru descărcări web

Biblioteca open source XLSX-Chart facilitează dezvoltatorilor să genereze grafice care pot fi descărcate cu ușurință prin aplicații web. Iată un exemplu puternic care demonstrează generarea unui grafic cu bare într-o rută Express.js. Metoda generate returnează datele graficului ca tampon (buffer), care este apoi trimis clientului cu antetele corespunzătoare pentru descărcare. Această abordare este ideală pentru generarea dinamică de rapoarte fără a crea fișiere temporare pe server.

Cum să creezi grafice Excel pentru descărcări prin web în Node.js?

var XLSXChart = require("xlsx-chart");
var xlsxChart = new XLSXChart();

// Express.js route example
app.get('/download-report', function(req, res) {
    var opts = {
        chart: "bar",
        titles: ["Revenue", "Expenses", "Profit"],
        fields: ["January", "February", "March", "April"],
        data: {
            "Revenue": {
                "January": 50000,
                "February": 55000,
                "March": 60000,
                "April": 58000
            },
            "Expenses": {
                "January": 30000,
                "February": 32000,
                "March": 35000,
                "April": 33000
            },
            "Profit": {
                "January": 20000,
                "February": 23000,
                "March": 25000,
                "April": 25000
            }
        }
    };

    xlsxChart.generate(opts, function(err, data) {
        if (err) {
            return res.status(500).send("Error generating chart");
        }
        
        res.set({
            "Content-Type": "application/vnd.ms-excel",
            "Content-Disposition": "attachment; filename=financial-report.xlsx",
            "Content-Length": data.length
        });
        res.status(200).send(data);
    });
});

Utilizarea șabloanelor personalizate pentru a crea grafice Excel

Pentru organizațiile cu cerințe specifice de branding, șabloanele personalizate oferă control total pentru crearea și gestionarea diagramelor Excel. Opțiunea templatePath indică un fișier Excel preformatat. XLSX-Chart va folosi acest șablon ca bază, aplicând datele dumneavoastră în timp ce păstrează formatarea, culorile, fonturile și layouturile personalizate. Rețineți că șabloanele personalizate funcționează în prezent cel mai bine cu diagramele de tip coloană. Codul de mai jos demonstrează cum se realizează acest lucru.

Cum să creezi grafice Excel prin șabloane personalizate în Node.js?

var XLSXChart = require("xlsx-chart");
var xlsxChart = new XLSXChart();

var opts = {
    file: "branded-report.xlsx",
    chart: "column",
    templatePath: __dirname + "/templates/company-template.xlsx",
    titles: ["Sales Team A", "Sales Team B"],
    fields: ["Q1", "Q2", "Q3", "Q4"],
    data: {
        "Sales Team A": {
            "Q1": 45000,
            "Q2": 52000,
            "Q3": 58000,
            "Q4": 61000
        },
        "Sales Team B": {
            "Q1": 42000,
            "Q2": 48000,
            "Q3": 55000,
            "Q4": 59000
        }
    }
};

xlsxChart.writeFile(opts, function(err) {
    if (err) {
        console.error("Template error:", err);
    } else {
        console.log("Branded report created!");
    }
});

 Română