XLSX
Charts
Bar, line, pie, area, and scatter charts
Embed charts in worksheets alongside your data.
Basic Chart
{
"worksheets": [
{
"name": "Data",
"children": [
{ "cells": [{ "value": "Quarter" }, { "value": "2023" }, { "value": "2024" }] },
{ "cells": [{ "value": "Q1" }, { "value": 100 }, { "value": 120 }] },
{ "cells": [{ "value": "Q2" }, { "value": 150 }, { "value": 170 }] },
{ "cells": [{ "value": "Q3" }, { "value": 200 }, { "value": 220 }] },
{ "cells": [{ "value": "Q4" }, { "value": 180 }, { "value": 200 }] }
],
"charts": [
{
"type": "column",
"title": "Quarterly Revenue",
"categories": ["Q1", "Q2", "Q3", "Q4"],
"series": [
{ "name": "2023", "values": [100, 150, 200, 180] },
{ "name": "2024", "values": [120, 170, 220, 200] }
],
"col": 5,
"row": 1
}
]
}
]
}
import { Workbook, Packer } from "@office-open/xlsx";
const wb = new Workbook({
worksheets: [
{
name: "Data",
children: [
{ cells: [{ value: "Quarter" }, { value: "2023" }, { value: "2024" }] },
{ cells: [{ value: "Q1" }, { value: 100 }, { value: 120 }] },
{ cells: [{ value: "Q2" }, { value: 150 }, { value: 170 }] },
{ cells: [{ value: "Q3" }, { value: 200 }, { value: 220 }] },
{ cells: [{ value: "Q4" }, { value: 180 }, { value: 200 }] },
],
charts: [
{
type: "column",
title: "Quarterly Revenue",
categories: ["Q1", "Q2", "Q3", "Q4"],
series: [
{ name: "2023", values: [100, 150, 200, 180] },
{ name: "2024", values: [120, 170, 220, 200] },
],
col: 5,
row: 1,
},
],
},
],
});
Chart Types
| Type | type value |
|---|---|
| Column | "column" |
| Bar | "bar" |
| Line | "line" |
| Pie | "pie" |
| Area | "area" |
| Scatter | "scatter" |
Line Chart
{
"worksheets": [
{
"name": "Trend",
"children": [
{ "cells": [{ "value": "Month" }, { "value": "Revenue" }] },
{ "cells": [{ "value": "Jan" }, { "value": 100 }] },
{ "cells": [{ "value": "Feb" }, { "value": 150 }] },
{ "cells": [{ "value": "Mar" }, { "value": 200 }] }
],
"charts": [
{
"type": "line",
"title": "Growth Trend",
"categories": ["Jan", "Feb", "Mar"],
"series": [{ "name": "Revenue", "values": [100, 150, 200] }],
"col": 4,
"row": 1
}
]
}
]
}
charts: [{
type: "line",
title: "Growth Trend",
categories: ["Jan", "Feb", "Mar"],
series: [{ name: "Revenue", values: [100, 150, 200] }],
col: 4,
row: 1,
}],
Multiple Charts
{
"worksheets": [
{
"name": "Data",
"children": [
{ "cells": [{ "value": "Quarter" }, { "value": "2024" }] },
{ "cells": [{ "value": "Q1" }, { "value": 120 }] },
{ "cells": [{ "value": "Q2" }, { "value": 170 }] }
],
"charts": [
{
"type": "column",
"title": "Revenue",
"categories": ["Q1", "Q2"],
"series": [{ "name": "2024", "values": [120, 170] }],
"col": 4,
"row": 1
},
{
"type": "line",
"title": "Trend",
"categories": ["Q1", "Q2"],
"series": [{ "name": "2024", "values": [120, 170] }],
"col": 4,
"row": 20
}
]
}
]
}
charts: [
{
type: "column",
title: "Revenue",
categories: ["Q1", "Q2"],
series: [{ name: "2024", values: [120, 170] }],
col: 4,
row: 1,
},
{
type: "line",
title: "Trend",
categories: ["Q1", "Q2"],
series: [{ name: "2024", values: [120, 170] }],
col: 4,
row: 20,
},
],
Chart Options Reference
| Option | Type | Description |
|---|---|---|
type | "column" | "bar" | "line" | "pie" | "area" | "scatter" | Chart type |
title | string | Chart title |
categories | string[] | Category labels |
series | { name: string, values: number[] }[] | Series data |
col | number | 1-based column position |
row | number | 1-based row position |
showLegend | boolean | Show legend |
style | number | Chart style (1–48) |