XLSX
Images
Embed PNG and JPEG images in worksheets
Basic Image
{
"worksheets": [
{
"name": "Images",
"children": [{ "cells": [{ "value": "Label" }, { "value": "Data" }] }],
"images": [
{
"data": "<Uint8Array>",
"type": "png",
"col": 3,
"row": 1
}
]
}
]
}
import { readFileSync } from "node:fs";
import { Workbook, Packer } from "@office-open/xlsx";
const wb = new Workbook({
worksheets: [
{
name: "Images",
children: [{ cells: [{ value: "Label" }, { value: "Data" }] }],
images: [
{
data: readFileSync("./photo.png"),
type: "png",
col: 3, // 1-based column (D column)
row: 1, // 1-based row
},
],
},
],
});
Multiple Images
{
"worksheets": [
{
"name": "Gallery",
"children": [{ "cells": [{ "value": "Photos" }] }],
"images": [
{ "data": "<Uint8Array>", "type": "png", "col": 2, "row": 2 },
{ "data": "<Uint8Array>", "type": "jpeg", "col": 5, "row": 2 }
]
}
]
}
images: [
{ data: pngData, type: "png", col: 2, row: 2 },
{ data: jpgData, type: "jpeg", col: 5, row: 2 },
],
Supported Formats
| Format | type value |
|---|---|
| PNG | "png" |
| JPEG | "jpeg" |
Images are stored uncompressed in the ZIP archive (ZIP_STORED) since they are already compressed formats.
Image Options Reference
| Option | Type | Description |
|---|---|---|
data | Uint8Array | Image file data |
type | "png" | "jpeg" | "jpg" | Image format |
col | number | 1-based column position |
row | number | 1-based row position |