複数の Excel チャートを作成するための無料 Node.js ライブラリ

Excel ワークシートでシンプルかつ高度なチャートを生成するトップクラスのオープンソース Node.js ライブラリです。1つのファイルに複数のチャートを作成し、Web ダウンロード用チャートや Node.js 内のテンプレートからのチャートも生成します。

XLSX-Chart とは何ですか?

Node.js で作業していて、埋め込みチャート付きの Excel ファイルを生成する必要がある場合、オープンソースパッケージの XLSX-Chart は非常に優れた選択肢です。多くのライブラリは Excel ワークシートの生成やセル値の設定などを可能にしますが、XLSX に埋め込まれたチャート/グラフをサポートしているものは少ないです。XLSX-Chart はそのギャップを埋めます。API はかなりシンプルで、チャートタイプ、タイトル、フィールド、データを指定し、ファイルを書き出すだけです。列、棒、線、エリア、レーダー、散布図、円グラフなど複数のタイプをサポートしているので、データに最適なものを選べます。レイアウトやスタイルなど、より細かい制御が必要な場合は、独自の Excel テンプレートを提供してチャート生成の基礎とすることができます。

XLSX-Chart は、Dmitriy Samortsev が開発した軽量な Node.js パッケージで、ソフトウェア開発者が Node.js アプリ内でプログラム的に Excel チャートを作成できるようにします。ファイルに直接書き込むメソッドや、バイナリデータ(HTTP 経由でのダウンロード用)を生成するメソッドを提供し、Web アプリケーションで便利に利用できます。このライブラリは、Excel の Open XML フォーマットを扱う複雑さを抽象化し、さまざまなチャートタイプを生成するための直感的な API を提供します。ビジネスインテリジェンスダッシュボード、自動レポートシステム、データ分析ツールの構築においても、XLSX-Chart は Excel チャート生成のシンプルなソリューションを提供します。その直感的な API、複数のチャートタイプへの対応、柔軟な出力オプションにより、レポートシステム、ビジネスインテリジェンスツール、データ可視化アプリケーションを構築する開発者にとって優れた選択肢となります。

Previous Next

XLSX-Chart の始め方

XLSX-Chart をインストールするには、JavaScript 用パッケージマネージャの npm を使用できます。以下のコマンドを使用してインストールを成功させてください。

npm で XLSX-Chart をインストール

npm install xlsx-chart

GitHub リポジトリからコンパイル済みの共有ライブラリをダウンロードしてインストールできます。

Node.js でシンプルな縦棒グラフを作成する

オープンソースの XLSX-Chart ライブラリは、Node.js アプリケーション内の Excel ワークシートでシンプルかつ高度なチャートを作成する完全なサポートを提供しています。以下のコード例は、4 つの製品の四半期ごとの売上を比較する縦棒グラフを作成します。titles 配列はデータ系列(四半期)を表し、fields はカテゴリ(製品)を表します。data オブジェクトには各組み合わせの実際の値が含まれています。

Node.js 内で四半期売上を示すシンプルな Excel チャートを作成する方法は?

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 で1つのファイルに複数のチャートを作成する

XLSX-Chart の強力な機能のひとつは、Node.js アプリケーション内の単一ブックで複数のチャートを生成できることです。ライブラリは、カスタム値と複数の可視化を持つチャートを作成することをソフトウェア開発者に可能にします。以下のコード例は、開発者が 3 種類の異なるチャートタイプを含む総合的なレポートを作成できる方法を示しています。charts 配列を使用して、各々が独自の構成を持つ複数の可視化を定義できます。chartTitle プロパティは各チャートに説明的な名前を付けます。これは、エグゼクティブダッシュボードや詳細な分析レポートに特に便利です。

Node.js アプリで1つのファイルに複数のチャートを作成する方法は?

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);

Web ダウンロード用チャートの生成

オープンソースの XLSX-Chart ライブラリは、ソフトウェア開発者が Web アプリケーション経由で簡単にダウンロードできるチャートを生成するのを容易にします。ここでは、Express.js のルート内で棒グラフを生成する強力な例を示します。generate メソッドはチャートデータをバッファとして返し、適切なヘッダーとともにクライアントへ送信してダウンロードさせます。このアプローチは、サーバー上に一時ファイルを作成せずに動的レポートを生成するのに最適です。

Node.js 内で Web ダウンロード用の Excel チャートを作成する方法は?

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 はこのテンプレートを基盤として使用し、データを適用しながらカスタム書式、色、フォント、レイアウトを保持します。カスタムテンプレートは現在、縦棒チャートで最も効果的に機能することに注意してください。以下のコードはその実装方法を示しています。

Node.js 内でカスタムテンプレートを使用して Excel チャートを作成する方法は?

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!");
    }
});

 日本