node package manager


Format data using ECMA-376 spreadsheet Format Codes


SpreadSheet Format (SSF) is a pure-JS library to format data using ECMA-376 spreadsheet format codes (like those used in Microsoft Excel)

This is written in voc -- see for code.

To build: voc


In the browser:

<script src="ssf.js"></script>

In node:

var SSF = require('ssf');

The script will manipulate module.exports if available (e.g. in a CommonJS require context). This is not always desirable. To prevent the behavior, define DO_NOT_EXPORT_SSF:


.load(fmt, idx) sets custom formats (generally indices above 164).

.format(fmt, val, opts) formats val using the format fmt. If fmt is of type number, the internal table (and custom formats) will be used. If fmt is a literal format, then it will be parsed and evaluated.

.parse_date_code(val, opts) parses val as date code and returns object:

  • D,T: Date ([val]) Time ({val})
  • y,m,d: Year, Month, Day
  • H,M,S,u: (0-23)Hour, Minute, Second, Sub-second
  • q: Day of Week (0=Sunday, 1=Monday, ..., 5=Friday, 6=Saturday)

.get_table() gets the internal format table (number to format mapping).

.load_table(table) sets the internal format table.


Format code 14 in the spec is broken; the correct format is 'mm/dd/yy' (dashes, not spaces)


Apache 2.0


Build Status

Coverage Status alpha