docs.sheetjs.com/docz/docs/07-csf/04-book.md

3.4 KiB

title sidebar_position
Workbook Object 4

SheetJS workbook objects represent collections of worksheets and associated workbook-level metadata.

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

wb.Workbook.Names is an array of defined name objects. Defined names are discussed in more detail in "Defined Names"

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 Name
date1904 epoch: 0/false for 1900 system, 1/true for 1904
filterPrivacy Warn or strip personally identifying info on save

Sheet Metadata

wb.Workbook.Sheets is an array of sheet metadata objects which have the keys:

Key Description
Hidden Sheet Visibility
CodeName VBA Sheet Code Name