@nlpjs-neo/xtables
v6.0.1
Published
Reads the named tables out of an Excel sheet and returns each one as a list of objects keyed by column name
Maintainers
Readme

@nlpjs-neo/xtables
Part of NLP.js Neo, a refreshed and maintained fork of axa-group/nlp.js. The packages are ESM only, written in TypeScript, and require Node.js 22.12 or later.
Introduction
@nlpjs-neo/xtables reads tables out of a spreadsheet. A sheet can hold several tables,
each one a name row, a header row and the data rows, separated by empty rows and columns;
the package finds them and returns each one as a list of objects keyed by column name. It is
what lets an NLP model be defined in an Excel workbook.
Installation
pnpm add @nlpjs-neo/xtablesExample of use
import { XDoc } from '@nlpjs-neo/xtables';
const xdoc = new XDoc();
await xdoc.read('./rules.xlsx');
const languages = xdoc.getTable('Languages');
console.log(languages.data); // [ { iso2: 'en' }, { iso2: 'es' } ]XDoc holds the tables of a workbook, XTable is one table, and XTableUtils has the
helpers that split a sheet into blocks.
Reading is done with @office-kit/xlsx,
which reads .xlsx and .xlsm. XDoc.read returns a promise. A legacy .xls workbook is
rejected with a message telling you to convert it first.
The format expected by the NLP manager is documented at Loading from Excel.
Contributing
You can read the guide of how to contribute at Contributing.
Code of Conduct
You can read the Code of Conduct at Code of Conduct.
Who is behind it
NLP.js was created and developed by AXA Group Operations Spain S.A., with Jesus Seijas as its main author; AXA Group is no longer involved in maintaining it. nlpjs-neo is a fork of that project, currently maintained by Igor Savin and the contributors to the fork.
License
Copyright (c) AXA Group Operations Spain S.A.
Copyright (c) 2026 Igor Savin
Released under the MIT License.
