Skip to main content

Utility Functions

The utility functions in this section fall into two categories:

Data Packaging

The "Input" functions create SheetJS data structures (worksheets or workbooks) from rows of data or other common JS data representations

These functions are paired with write or writeFile to create exports. For example, the following diagram shows the steps to export an HTML TABLE to XLSX:

flowchart LR
html{{HTML\nTABLE}}
ws(SheetJS\nWorksheet)
wb(SheetJS\nWorkbook)
file[(workbook\nfile)]
html --> |table_to_sheet\n\n| ws
ws --> |book_new\n\n| wb
wb --> |writeFile\n\n| file

Data Extraction

The "Output" functions extract data from worksheets to friendlier structures.

These functions are paired with read or readFile to process data from files. The following diagram shows the steps to generate an HTML TABLE from a URL:

flowchart LR
url[(Remote\nFile)]
ab[(Data\nArrayBuffer)]
wb(SheetJS\nWorkbook)
ws(SheetJS\nWorksheet)
html{{HTML\nTABLE}}
url --> |fetch\n\n| ab
ab --> |read\n\n| wb
wb --> |wb.Sheets\nselect sheet| ws
ws --> |sheet_to_html\nfirst worksheet| html

Array Output​

Generate rows of data from a worksheet

var arr = XLSX.utils.sheet_to_json(ws, opts);

This function is described in a dedicated page

Array of Arrays Input​

Create a worksheet from an array of arrays

var ws = XLSX.utils.aoa_to_sheet(aoa, opts);

Add data from an array of arrays to an existing worksheet

XLSX.utils.sheet_add_aoa(ws, aoa, opts);

These functions are described in a dedicated page

Array of Objects Input​

Create a worksheet from an array of objects

var ws = XLSX.utils.json_to_sheet(aoo, opts);

Add data from an array of objects to an existing worksheet

XLSX.utils.sheet_add_json(ws, aoo, opts);

These functions are described in a dedicated page

HTML Table Input​

Create a worksheet or workbook from a TABLE element

var ws = XLSX.utils.table_to_sheet(elt, opts);
var wb = XLSX.utils.table_to_book(elt, opts);

Add data from a TABLE element to an existing worksheet

XLSX.utils.sheet_add_dom(ws, elt, opts);

These functions are described in a dedicated page

HTML Output​

Display worksheet data in a HTML table

var html = XLSX.utils.sheet_to_html(ws, opts);

This function are described in a dedicated page

Delimiter-Separated Output​

Generate CSV from a Worksheet

var csv = XLSX.utils.sheet_to_csv(ws, opts);

Export worksheet data in "UTF-16 Text" or Tab-Separated Values (TSV)

var txt = XLSX.utils.sheet_to_txt(ws, opts);

These functions are described in a dedicated page

Formulae Output​

Extract all formulae from a worksheet

var fmla_arr = XLSX.utils.sheet_to_formulae(ws);

This function is described in a dedicated page