# SSF 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](https://npmjs.org/package/voc) -- see ssf.md for code. To build: `voc ssf.md` ## Setup In the browser: 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`: ## Usage `.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. ## Notes Format code 14 in the spec is broken; the correct format is 'mm/dd/yy' (dashes, not spaces) ## License Apache 2.0 ## Tests [![Build Status](https://travis-ci.org/SheetJS/frac.png?branch=master)](https://travis-ci.org/SheetJS/frac) [![githalytics.com alpha](https://cruel-carlota.pagodabox.com/c1dac903f4b43f82a529bc8df145d085 "githalytics.com")](http://githalytics.com/SheetJS/ssf)