AdaptTable for Ant Design
Spreadsheet formulas in Ant Design
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.
The engine returns ordinary column definitions, so a computed column renders through antd's own Table cell — and an error reads as its token text rather than being dressed up as an Alert or a Tag.
The code
import { DataTable } from "@adapttable/antd";
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/antd @adapttable/core antd
The same feature in the other kits
- Spreadsheet formulas in Mantine — Rounded, friendly, filled controls
- Spreadsheet formulas in MUI — Material elevation, uppercase actions
- Spreadsheet formulas in Chakra — Soft teal, generous radius
- Spreadsheet formulas in Radix — Radix Themes, iris accent
- Spreadsheet formulas in Base UI — Unstyled primitives, blue accent
- Spreadsheet formulas in shadcn — Monochrome, ring focus
- Spreadsheet formulas in Tailwind — Unstyled — your own classes
More Ant Design features
- Filtering in Ant Design — Kit-native operators, date ranges, checklists, an AND/OR tree, chips.
- Column management in Ant Design — Show, hide, reorder, pin and resize — from a menu you did not write.
- Column groups in Ant Design — Spanning headers that collapse to a stub, a kept child, or a custom cell.
- Row selection in Ant Design — A set of ids that survives paging, with bulk actions over it.
- Rows in Ant Design — Pin, drag-reorder, merge cells, and a 3-dot menu per row.
- Inline cell editing in Ant Design — Kit-native editors in the cell; every write goes through your handler.
- Row grouping in Ant Design — Nested group headers with counts, subtotals, footers and collapse state.
- Nested tables in Ant Design — A real table under a row — same engine, own columns, own keys.
- Export and print in Ant Design — CSV, XLSX and PDF from one seam — plus a real print layout.
- Large datasets in Ant Design — 100k rows, 40 columns, virtualized rows and columns, sticky chrome.
- Tree data in Ant Design — Rows that contain rows — nesting, chevrons, keyboard traversal.
- Mobile cards in Ant Design — Every row becomes a card on phones. Automatically, with the same state.
- Pivot tables in Ant Design — Rows down the side, dimensions across the top, subtotals at every level.
- Saved views in Ant Design — Name an arrangement, share it as a link, manage the list in place.
- Right-to-left Ant Design data table — Arabic strings, a flipped axis, and a popover that opens from the right edge.
- Live updates in Ant Design — Rows change while you read them. Sort and selection hold.
- Accessible Ant Design data table — Arrow-key focus, a visible ring, and every announcement shown as text.
Reference: formulas. More of this kit: AdaptTable for Ant Design, or the live demo.