AdaptTable for Tailwind

Spreadsheet formulas in Tailwind

A formula column is a column nobody wrote code for: type =ROUND(budget * 0.15, 0) and the table computes it per row, sorts it, filters it and exports it like any other column.

The engine covers arithmetic, comparison, string joins, IF, and the aggregate functions a footer needs. A bad reference reports in the cell that caused it rather than blanking the table, and a circular reference reports #CYCLE! instead of recursing.

Formula columns serialize to the URL with everything else, so a derived column travels in the same link as the filters it sits beside.

A computed column is an ordinary cell carrying the map's padding classes, and an error token is plain text — nothing in the map singles it out.

The code

import { DataTable } from "@adapttable/unstyled";
import { buildFormulaColumns } from "@adapttable/core/formula";

const derived = buildFormulaColumns([
  {
    key: "margin",
    header: "Margin",
    formula: "=ROUND(budget * 0.15, 0)",
  },
  {
    key: "tag",
    header: "Tag",
    formula: '=UPPER(team) & " · " & role',
  },
]);

export function People({ rows, columns }) {
  return (
    <DataTable
      data={rows}
      columns={[...columns, ...derived]}
      rowKey={(row) => row.id}
    />
  );
}

Install

pnpm add @adapttable/unstyled @adapttable/core

The same feature in the other kits

More Tailwind features

Reference: formulas. More of this kit: AdaptTable for Tailwind, or the live demo.