Thư viện Node.js miễn phí để tạo nhiều biểu đồ Excel
Thư viện Node.js mã nguồn mở hàng đầu để tạo biểu đồ đơn giản và nâng cao trong bảng tính Excel. Nó tạo nhiều biểu đồ trong một tệp, biểu đồ cho tải xuống web và biểu đồ từ mẫu trong Node.js.
XLSX-Chart là gì?
Nếu bạn làm việc với Node.js và cần tạo các tệp Excel có biểu đồ nhúng, gói mã nguồn mở XLSX-Chart là một lựa chọn rất tốt. Nhiều thư viện cho phép bạn tạo các Worksheet Excel, đặt giá trị ô, v.v., nhưng ít thư viện hỗ trợ các biểu đồ/đồ thị nhúng trong XLSX. XLSX-Chart lấp đầy khoảng trống này. API khá đơn giản — bạn chỉ định loại biểu đồ, tiêu đề, trường và dữ liệu, rồi ghi tệp. Nó hỗ trợ một số loại biểu đồ (cột, thanh, đường, khu vực, radar, phân tán, bánh) để bạn có thể chọn loại phù hợp nhất với dữ liệu của mình. Nếu cần kiểm soát nhiều hơn (bố cục, kiểu dáng), bạn có thể cung cấp mẫu Excel của riêng mình để tạo biểu đồ dựa trên mẫu đó.
XLSX-Chart là một gói Node.js nhẹ được phát triển bởi Dmitriy Samortsev, cho phép các nhà phát triển phần mềm tạo biểu đồ Excel một cách lập trình trong các ứng dụng Node.js. Nó cung cấp các phương thức để ghi trực tiếp vào tệp hoặc tạo dữ liệu nhị phân (để tải xuống qua HTTP), rất tiện dụng trong các ứng dụng web. Thư viện trừu tượng hoá sự phức tạp của định dạng Open XML của Excel, cung cấp một API trực quan để tạo các loại biểu đồ khác nhau. Dù bạn đang xây dựng bảng điều khiển business intelligence, hệ thống báo cáo tự động hay công cụ phân tích dữ liệu, XLSX-Chart cung cấp giải pháp đơn giản cho việc tạo biểu đồ Excel. API thân thiện, hỗ trợ nhiều loại biểu đồ và các tùy chọn xuất linh hoạt khiến nó trở thành lựa chọn tuyệt vời cho các nhà phát triển xây dựng hệ thống báo cáo, công cụ business intelligence hoặc ứng dụng trực quan hoá dữ liệu.
Bắt đầu với XLSX-Chart
Để cài đặt XLSX-Chart, bạn có thể sử dụng npm, trình quản lý gói cho JavaScript. Vui lòng sử dụng các lệnh sau để cài đặt thành công.
Cài đặt XLSX-Chart qua npm
npm install xlsx-chartBạn có thể tải xuống thư viện chia sẻ đã biên dịch từ kho GitHub và cài đặt nó.
Tạo biểu đồ cột đơn giản trong Node.js
Thư viện mã nguồn mở XLSX-Chart đã bao gồm hỗ trợ đầy đủ cho việc tạo biểu đồ đơn giản và nâng cao trong Excel worksheet trong các ứng dụng Node.js. Ví dụ mã dưới đây tạo một biểu đồ cột so sánh doanh thu hàng quý của bốn sản phẩm. Mảng titles đại diện cho chuỗi dữ liệu (các quý), trong khi fields đại diện cho các danh mục (sản phẩm). Đối tượng data chứa các giá trị thực tế cho mỗi sự kết hợp.
Cách tạo biểu đồ Excel đơn giản hiển thị doanh thu hàng quý trong 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);
}
});
Tạo nhiều biểu đồ trong một tệp trong Node.js
Một trong những tính năng mạnh mẽ của XLSX-Chart là tạo nhiều biểu đồ trong một workbook duy nhất trong các ứng dụng Node.js. Thư viện cho phép các nhà phát triển phần mềm tạo biểu đồ với các giá trị tùy chỉnh và nhiều dạng hiển thị. Ví dụ mã dưới đây cho thấy cách các nhà phát triển có thể tạo một báo cáo toàn diện với ba loại biểu đồ khác nhau. Mảng charts cho phép bạn định nghĩa nhiều dạng hiển thị, mỗi dạng có cấu hình riêng. Thuộc tính chartTitle cung cấp cho mỗi biểu đồ một tên mô tả. Điều này đặc biệt hữu ích cho các bảng điều khiển cấp cao hoặc các báo cáo phân tích chi tiết.
Cách tạo nhiều biểu đồ trong một tệp trong các ứng dụng 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);
Tạo biểu đồ cho tải xuống web
Thư viện mã nguồn mở XLSX-Chart giúp các nhà phát triển phần mềm dễ dàng tạo biểu đồ có thể tải xuống thông qua các ứng dụng web. Dưới đây là một ví dụ mạnh mẽ minh họa việc tạo biểu đồ cột trong một route của Express.js. Phương thức generate trả về dữ liệu biểu đồ dưới dạng buffer, sau đó được gửi tới client với các header thích hợp để tải xuống. Cách tiếp cận này lý tưởng cho việc tạo báo cáo động mà không cần tạo các tệp tạm thời trên máy chủ.
Cách tạo biểu đồ Excel cho tải xuống trên web trong 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);
});
});
Sử dụng mẫu tùy chỉnh để tạo biểu đồ Excel
Đối với các tổ chức có yêu cầu thương hiệu cụ thể, các mẫu tùy chỉnh cung cấp kiểm soát hoàn toàn trong việc tạo và quản lý biểu đồ Excel. Tùy chọn templatePath chỉ tới một tệp Excel đã được định dạng trước. XLSX-Chart sẽ sử dụng mẫu này làm nền tảng, áp dụng dữ liệu của bạn trong khi giữ nguyên định dạng, màu sắc, phông chữ và bố cục tùy chỉnh. Lưu ý rằng hiện tại các mẫu tùy chỉnh hoạt động tốt nhất với biểu đồ cột. Đoạn mã dưới đây trình bày cách thực hiện.
Cách tạo biểu đồ Excel qua mẫu tùy chỉnh trong 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!");
}
});