7.0.0 (2026-03-28)
⚠ BREAKING CHANGES
- pdf: PDF engine decoupled from Excel module. All PDF internals (
PdfWorkbook,PdfSheetData, etc.) are no longer public exports. Usepdf()for standalone orexcelToPdf()for Excel workbooks. - pdf:
PdfExporterclass has been removed. UseexcelToPdf(workbook, options?)instead ofnew PdfExporter(workbook).export(options). - pdf:
ExcelPdfExporterclass has been removed. UseexcelToPdf()instead. - pdf:
exportPdf()is no longer a public export. UseexcelToPdf()for Excel workbooks orpdf()for standalone PDF generation. - pdf:
numFmtremoved from standalonePdfCellinterface (Excel-specific concept; pass pre-formatted strings instead). - excel: Deprecated type alias
Imagehas been removed. UseImageDatainstead. - excel: Deprecated type alias
ZipOptionshas been removed. UseWorkbookZipOptionsinstead.
Features
- pdf: Add standalone
pdf()API for generating PDFs from plain data without Excel - pdf: Add
PdfImagesupport for embedding JPEG/PNG images in standalonepdf()andexcelToPdf()paths - pdf: Add image embedding examples for both API paths
Bug Fixes
- pdf: Fix header-only empty data sheets producing blank pages
- pdf: Fix sparse column headers rendering at wrong positions
- pdf: Fix image-only standalone sheets being dropped (empty bounds early return)
- pdf: Fix
excelToPdf()dropping images anchored outside cell data bounds - pdf: Fix
excelToPdf()not extending bounds to imagebr(bottom-right) anchor
Code Refactoring
- pdf: Decouple PDF engine from Excel module via
excel-bridge.ts - pdf: Remove
numFmtfrom standalonePdfCell(Excel-specific concept) - excel: Remove deprecated
ImageandZipOptionstype aliases
Migration Guide
- import { PdfExporter } from "@cj-tech-master/excelts";
- const pdf = new PdfExporter(workbook).export({ showGridLines: true });
+ import { excelToPdf } from "@cj-tech-master/excelts";
+ const pdf = excelToPdf(workbook, { showGridLines: true });- import { exportPdf } from "@cj-tech-master/excelts/pdf";
- const pdf = exportPdf(pdfWorkbook);
+ import { pdf } from "@cj-tech-master/excelts/pdf";
+ const result = pdf([["A", "B"], [1, 2]]);- import type { Image, ZipOptions } from "@cj-tech-master/excelts";
+ import type { ImageData, WorkbookZipOptions } from "@cj-tech-master/excelts";