Skip to main content

Workbook Object

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 NameExcel Description
TitleSummary tab "Title"
SubjectSummary tab "Subject"
AuthorSummary tab "Author"
ManagerSummary tab "Manager"
CompanySummary tab "Company"
CategorySummary tab "Category"
KeywordsSummary tab "Keywords"
CommentsSummary tab "Comments"
LastAuthorStatistics tab "Last saved by"
CreatedDateStatistics 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:

RTLIf true, display right-to-left

Miscellaneous Workbook Properties

wb.Workbook.WBProps holds other workbook properties:

CodeNameVBA Workbook Name
date1904epoch: 0/false for 1900 system, 1/true for 1904
filterPrivacyWarn or strip personally identifying info on save

Sheet Metadata

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

HiddenSheet Visibility
CodeNameVBA Sheet Code Name