Безплатна Node.js библиотека за създаване на множество Excel диаграми

Водеща отворена Node.js библиотека за генериране на прости и сложни диаграми в Excel работен лист. Тя създава множество диаграми в един файл, диаграми за уеб изтегляния и диаграма от шаблон във Node.js.

Какво е XLSX-Chart?

Ако работите с Node.js и трябва да генерирате Excel файлове със вградени диаграми, отвореният код пакет XLSX-Chart е много добра опция за разглеждане. Много библиотеки позволяват генериране на Excel работни листове, задаване на стойности на клетки и т.н., но по-малко поддържат диаграми/графики, вградени в XLSX. XLSX-Chart запълва тази празнина. API‑то е доста просто — задавате тип на диаграмата, заглавия, полета, данни и след това записвате файла. Поддържа няколко типа (колона, лента, линия, област, радар, разсейване, пай), така че можете да изберете този, който най‑добре отговаря на вашите данни. Ако имате нужда от повече контрол (оформление, стилове), можете да предоставите свой собствен Excel шаблон, върху който да се базира генерирането на диаграмата.

XLSX-Chart е лека Node.js пакет, разработен от Дмитрий Самортсев, който позволява на софтуерните разработчици програмено да създават Excel диаграми в Node.js приложения. Той предоставя методи за директно записване във файл или генериране на двоични данни (за изтегляне чрез HTTP), което е удобно в уеб приложения. Библиотеката абстрахира сложността на работа с Open XML формата на Excel, предоставяйки интуитивен API за генериране на различни типове диаграми. Независимо дали създавате табла за бизнес интелигентност, автоматизирани системи за отчитане или инструменти за анализ на данни, XLSX-Chart предлага просто решение за генериране на Excel диаграми. Нейният интуитивен API, поддръжката на множество типове диаграми и гъвкавите изходни опции я правят отличен избор за разработчиците, създаващи системи за отчитане, инструменти за бизнес интелигентност или приложения за визуализация на данни.

Previous Next

Започване с XLSX-Chart

За да инсталирате XLSX-Chart, можете да използвате npm, мениджъра на пакети за JavaScript. Моля, използвайте следните команди за успешна инсталация.

Инсталирайте XLSX-Chart чрез npm

npm install xlsx-chart

Можете да изтеглите компилираната споделена библиотека от репозитория в GitHub и да я инсталирате.

Създаване на проста колонна диаграма в Node.js

Отвореният код на библиотеката XLSX-Chart включва пълна поддръжка за създаване на прости и усъвършенствани диаграми в Excel работни листове в Node.js приложения. Следният примерен код създава колонна диаграма, сравняваща тримесечните продажби за четири продукта. Масивът titles представлява сериите данни (тримесечия), докато fields представлява категориите (продукти). Обектът data съдържа реалните стойности за всяка комбинация.

Как да създадете проста Excel диаграма, показваща тримесечни продажби в 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);
    }
});

Създаване на множество диаграми в един файл в Node.js

Една от мощните функции на XLSX-Chart е генерирането на множество диаграми в една работна книга в Node.js приложения. Библиотеката позволява на софтуерните разработчици да създават диаграми с персонализирани стойности и множество визуализации. Следният примерен код показва как разработчиците могат да създадат изчерпателен доклад с три различни типа диаграми. Масивът charts ви позволява да дефинирате множество визуализации, всяка със собствена конфигурация. Свойството chartTitle дава на всяка диаграма описателно име. Това е особено полезно за изпълнителни табла или детайлни аналитични доклади.

Как да създадете множество диаграми в един файл в 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);

Генериране на диаграми за уеб изтегляния

Отвореният код на библиотеката XLSX-Chart улеснява софтуерните разработчици да генерират диаграми, които могат лесно да се изтеглят чрез уеб приложения. Ето един мощен пример, който демонстрира генерирането на лентова диаграма в рамките на Express.js маршрут. Методът generate връща данните на диаграмата като буфер, който след това се изпраща към клиента с подходящи заглавки за изтегляне. Този подход е идеален за динамично генериране на доклади без създаване на временни файлове на сървъра.

Как да създадете Excel диаграми за уеб изтегляния в 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);
    });
});

Използване на персонализирани шаблони за създаване на Excel диаграми

За организации с конкретни изисквания за брандиране персонализираните шаблони предоставят пълен контрол при създаване и управление на Excel диаграми. Параметърът templatePath указва към предварително форматиран Excel файл. XLSX-Chart ще използва този шаблон като основа, като прилага вашите данни, като запазва персонализираното форматиране, цветовете, шрифтовете и оформленията. Забележка: персонализираните шаблони в момента работят най‑добре с колонни диаграми. Следният код демонстрира как се постига това.

Как да създадете Excel диаграми чрез персонализирани шаблони в 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!");
    }
});

 Български