複数の 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、複数のチャートタイプへの対応、柔軟な出力オプションにより、レポートシステム、ビジネスインテリジェンスツール、データ可視化アプリケーションを構築する開発者にとって優れた選択肢となります。
XLSX-Chart の始め方
XLSX-Chart をインストールするには、JavaScript 用パッケージマネージャの npm を使用できます。以下のコマンドを使用してインストールを成功させてください。
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!");
}
});