github cjnoname/excelts v7.0.0

latest releases: v9.4.2, v9.4.1, v9.4.0...
one month ago

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. Use pdf() for standalone or excelToPdf() for Excel workbooks.
  • pdf: PdfExporter class has been removed. Use excelToPdf(workbook, options?) instead of new PdfExporter(workbook).export(options).
  • pdf: ExcelPdfExporter class has been removed. Use excelToPdf() instead.
  • pdf: exportPdf() is no longer a public export. Use excelToPdf() for Excel workbooks or pdf() for standalone PDF generation.
  • pdf: numFmt removed from standalone PdfCell interface (Excel-specific concept; pass pre-formatted strings instead).
  • excel: Deprecated type alias Image has been removed. Use ImageData instead.
  • excel: Deprecated type alias ZipOptions has been removed. Use WorkbookZipOptions instead.

Features

  • pdf: Add standalone pdf() API for generating PDFs from plain data without Excel
  • pdf: Add PdfImage support for embedding JPEG/PNG images in standalone pdf() and excelToPdf() 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 image br (bottom-right) anchor

Code Refactoring

  • pdf: Decouple PDF engine from Excel module via excel-bridge.ts
  • pdf: Remove numFmt from standalone PdfCell (Excel-specific concept)
  • excel: Remove deprecated Image and ZipOptions type 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";

Don't miss a new excelts release

NewReleases is sending notifications on new releases.