다중 Excel 차트를 만들기 위한 무료 Node.js 라이브러리
Excel 워크시트에서 간단하고 고급 차트를 생성하는 최고의 오픈 소스 Node.js 라이브러리입니다. 하나의 파일에 여러 차트를 만들고, 웹 다운로드용 차트 및 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를 통한 다운로드용) 웹 애플리케이션에서 편리하게 사용할 수 있는 메서드를 제공합니다. 이 라이브러리는 Excel의 Open XML 형식을 다루는 복잡성을 추상화하여 다양한 차트 유형을 생성하기 위한 직관적인 API를 제공합니다. 비즈니스 인텔리전스 대시보드, 자동 보고 시스템, 데이터 분석 도구를 구축하든, XLSX-Chart는 Excel 차트 생성을 위한 간단한 솔루션을 제공합니다. 직관적인 API, 다중 차트 유형 지원, 유연한 출력 옵션 덕분에 보고 시스템, BI 도구, 데이터 시각화 애플리케이션을 만드는 개발자에게 탁월한 선택입니다.
XLSX-Chart 시작하기
XLSX-Chart를 설치하려면 JavaScript용 패키지 관리자인 npm을 사용할 수 있습니다. 성공적인 설치를 위해 다음 명령을 사용하십시오.
Node.js에서 간단한 열 차트 만들기
오픈 소스 XLSX-Chart 라이브러리는 Node.js 애플리케이션 내에서 Excel 워크시트에 간단하고 고급 차트를 생성하는 완전한 지원을 포함하고 있습니다. 아래 코드 예제는 네 제품의 분기별 매출을 비교하는 열 차트를 생성합니다. 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에서 하나의 파일에 여러 차트 만들기
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 메서드는 차트 데이터를 버퍼로 반환하며, 이를 다운로드용 적절한 헤더와 함께 클라이언트에 전송합니다. 이 접근 방식은 서버에 임시 파일을 생성하지 않고도 동적 보고서를 생성하는 데 이상적입니다.
Node.js 내부에서 웹 다운로드용 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!");
}
});