SheetJS File Format Notes

Formula Localization

Excel localizes function names in the user interface but stores the en-US form in XLSX and XLSM files.

JSON Database

./table.json is a large JSON object. Each key is a locale id and each value is an array of names. The arrays are in the same order.

Generating translations is straightforward:

// assuming `data` is the data
> var idx = data.en.indexOf("ECMA.CEILING");
> Object.entries(data).map(([x,y]) => [x,y[idx]]);
[
  [ 'ar', 'ECMA.CEILING' ],
  [ 'cs', 'ECMA.CEILING' ],
  [ 'da', 'ECMA.LOFT' ],
  [ 'de', 'ECMA.OBERGRENZE' ],
  [ 'el', 'ECMA.CEILING' ],
  [ 'en', 'ECMA.CEILING' ],
  [ 'en_GB', 'ECMA.CEILING' ],
  [ 'es', 'MULTIPLO.SUPERIOR.ECMA' ],
  [ 'es_MX', 'MULTIPLO.SUPERIOR.ECMA' ],
  [ 'fi', 'ECMA.PYÖRISTÄ.KERR.YLÖS' ],
  [ 'fr', 'ECMA.PLAFOND' ],
  [ 'fr_CA', 'ECMA.PLAFOND' ],
  [ 'he', 'ECMA.CEILING' ],
  [ 'hu', 'ECMA.PLAFON' ],
  [ 'id', 'ECMA.CEILING' ],
  [ 'it', 'ECMA.ARROTONDA.ECCESSO' ],
  [ 'ja', 'ECMA.CEILING' ],
  [ 'ko', 'ECMA.CEILING' ],
  [ 'nl', 'ECMA.AFRONDEN.BOVEN' ],
  [ 'no', 'ECMA.AVRUND.GJELDENDE.MULTIPLUM' ],
  [ 'pl', 'ECMA.ZAOKR.W.GÓRĘ' ],
  [ 'pt', 'ECMA.TETO' ],
  [ 'pt_PT', 'ARRED.EXCESSO.ECMA' ],
  [ 'ru', 'ECMA.ОКРВВЕРХ' ],
  [ 'sk', 'ECMA.CEILING' ],
  [ 'sv', 'ECMA.RUNDA.UPP' ],
  [ 'th', 'ECMA.CEILING' ],
  [ 'tr', 'ECMA.TAVAN' ],
  [ 'zh_CN', 'ECMA.CEILING' ],
  [ 'zh_TW', 'ECMA.CEILING' ]
]

Analytics