AdaptTable for Ant Design

Export and print in Ant Design

One exportCsv prop puts an export button in the toolbar, and one scope decides what leaves: the current page, every filtered row, or exactly the cells selected.

Swap the writer and the same button produces a different file. xlsxWriter writes Excel outline levels for grouped rows and bolds the totals; pdfWriter lays out a paginated document, right-to-left scripts included when you hand it a font.

printTable opens the browser's own print dialog against a layout built for paper rather than a screenshot of the page.

The export control is an antd Button in its loading state, which takes the icon slot and disables the button for the duration — antd's own answer to a control that is working.

The code

import { DataTable } from "@adapttable/antd";
import { xlsxWriter } from "@adapttable/core/xlsx";

export function People({ rows, columns }) {
  return (
    <DataTable
      data={rows}
      columns={columns}
      rowKey={(row) => row.id}
      groupBy="team"
      exportCsv={{
        scope: "all",
        filename: "people.xlsx",
        writer: xlsxWriter({ sheetName: "People" }),
      }}
    />
  );
}

Install

pnpm add @adapttable/antd @adapttable/core antd

The same feature in the other kits

More Ant Design features

Reference: export-pdf. More of this kit: AdaptTable for Ant Design, or the live demo.