docs.sheetjs.com/docz/docs/07-csf/04-book.md
2022-09-05 06:00:35 -04:00

3.7 KiB

sidebar_position
4

Workbook Object

For a given workbook object wb:

wb.SheetNames is an ordered list of the sheets in the workbook.

wb.Sheets is an object whose keys are worksheet names (from SheetNames) and whose values are worksheet objects.

wb.Props is an object storing the standard properties. wb.Custprops stores custom properties. Since the XLS standard properties deviate from the XLSX standard, XLS parsing stores core properties in both places.

wb.Workbook stores workbook-level attributes.

When reading a file, wb.bookType is the determined book type.

File Properties

The various file formats use different internal names for file properties. The workbook Props object normalizes the names:

File Properties (click to hide)
JS Name Excel Description
Title Summary tab "Title"
Subject Summary tab "Subject"
Author Summary tab "Author"
Manager Summary tab "Manager"
Company Summary tab "Company"
Category Summary tab "Category"
Keywords Summary tab "Keywords"
Comments Summary tab "Comments"
LastAuthor Statistics tab "Last saved by"
CreatedDate Statistics tab "Created"

For example, to set the workbook title property:

if(!wb.Props) wb.Props = {};
wb.Props.Title = "Insert Title Here";

Custom properties are added in the workbook Custprops object:

if(!wb.Custprops) wb.Custprops = {};
wb.Custprops["Custom Property"] = "Custom Value";

Writers will process the Props key of the options object:

/* force the Author to be "SheetJS" */
XLSX.write(wb, {Props:{Author:"SheetJS"}});

Workbook-Level Attributes

wb.Workbook stores workbook-level attributes.

Defined Names

Format Support (click to show)

Simple Defined Names: XLSX/M, XLSB, BIFF8 XLS, XLML, ODS, SYLK

Unicode Defined Names: XLSX/M, XLSB, BIFF8 XLS, XLML, ODS

Defined Name Comment: XLSX/M, XLSB, BIFF8 XLS

wb.Workbook.Names is an array of defined name objects which have the keys:

Key Description
Sheet Name scope. Sheet Index (0 = first sheet) or null (Workbook)
Name Case-sensitive name. Standard rules apply **
Ref A1-Style Reference ("Sheet1!$A$1:$D$20")
Comment Comment (only applicable for XLS/XLSX/XLSB)

Excel allows two sheet-scoped defined names to share the same name. However, a sheet-scoped name cannot collide with a workbook-scope name. Workbook writers may not enforce this constraint.

Workbook Views

wb.Workbook.Views is an array of workbook view objects which have the keys:

Key Description
RTL If true, display right-to-left

Miscellaneous Workbook Properties

wb.Workbook.WBProps holds other workbook properties:

Key Description
CodeName VBA Workbook Code Name
date1904 epoch: 0/false for 1900 system, 1/true for 1904
filterPrivacy Warn or strip personally identifying info on save