🚀 BlockNote AI is here! Access the early preview.
Examples/UI Components/Advanced Tables

Advanced Tables

This example enables the following features in tables:

  • Split cells
  • Cell background color
  • Cell text color
  • Table row and column headers

Relevant Docs:

import "@blocknote/core/fonts/inter.css"; import { BlockNoteView } from "@blocknote/mantine"; import "@blocknote/mantine/style.css"; import { useCreateBlockNote } from "@blocknote/react";  export default function App() {  // Creates a new editor instance.  const editor = useCreateBlockNote({  // This enables the advanced table features  tables: {  splitCells: true,  cellBackgroundColor: true,  cellTextColor: true,  headers: true,  },  initialContent: [  {  id: "7e498b3d-d42e-4ade-9be0-054b292715ea",  type: "heading",  props: {  textColor: "default",  backgroundColor: "default",  textAlignment: "left",  level: 2,  },  content: [  {  type: "text",  text: "Advanced Tables",  styles: {},  },  ],  children: [],  },  {  id: "cbf287c6-770b-413a-bff5-ad490a0b562a",  type: "table",  props: {  textColor: "default",  },  content: {  type: "tableContent",  columnWidths: [199, 148, 201],  headerRows: 1,  rows: [  {  cells: [  {  type: "tableCell",  content: [  {  type: "text",  text: "This row has headers",  styles: {},  },  ],  props: {  colspan: 1,  rowspan: 1,  backgroundColor: "default",  textColor: "default",  textAlignment: "center",  },  },  {  type: "tableCell",  content: [  {  type: "text",  text: "This is ",  styles: {},  },  {  type: "text",  text: "RED",  styles: {  bold: true,  },  },  ],  props: {  colspan: 1,  rowspan: 1,  backgroundColor: "red",  textColor: "default",  textAlignment: "center",  },  },  {  type: "tableCell",  content: [  {  type: "text",  text: "Text is Blue",  styles: {},  },  ],  props: {  colspan: 1,  rowspan: 1,  backgroundColor: "default",  textColor: "blue",  textAlignment: "center",  },  },  ],  },  {  cells: [  {  type: "tableCell",  content: [  {  type: "text",  text: "This spans 2 columns\nand 2 rows",  styles: {},  },  ],  props: {  colspan: 2,  rowspan: 2,  backgroundColor: "yellow",  textColor: "default",  textAlignment: "left",  },  },  {  type: "tableCell",  content: [  {  type: "text",  text: "Sooo many features",  styles: {},  },  ],  props: {  colspan: 1,  rowspan: 1,  backgroundColor: "gray",  textColor: "default",  textAlignment: "left",  },  },  ],  },  {  cells: [  {  type: "tableCell",  content: [],  props: {  colspan: 1,  rowspan: 1,  backgroundColor: "gray",  textColor: "purple",  textAlignment: "left",  },  },  ],  },  {  cells: [  {  type: "tableCell",  content: [  {  type: "text",  text: "A cell",  styles: {},  },  ],  props: {  colspan: 1,  rowspan: 1,  backgroundColor: "default",  textColor: "default",  textAlignment: "left",  },  },  {  type: "tableCell",  content: [  {  type: "text",  text: "Another Cell",  styles: {},  },  ],  props: {  colspan: 1,  rowspan: 1,  backgroundColor: "default",  textColor: "default",  textAlignment: "right",  },  },  {  type: "tableCell",  content: [  {  type: "text",  text: "Aligned center",  styles: {},  },  ],  props: {  colspan: 1,  rowspan: 1,  backgroundColor: "default",  textColor: "default",  textAlignment: "center",  },  },  ],  },  ],  },  children: [],  },  {  id: "16e76a94-74e5-42e2-b461-fc9da9f381f7",  type: "paragraph",  props: {  textColor: "default",  backgroundColor: "default",  textAlignment: "left",  },  content: [  {  type: "text",  text: "Featuring:",  styles: {},  },  ],  children: [  {  id: "785fc9f7-8554-47f4-a4df-8fe2f1438cac",  type: "bulletListItem",  props: {  textColor: "default",  backgroundColor: "default",  textAlignment: "left",  },  content: [  {  type: "text",  text: "Cell background & foreground coloring",  styles: {},  },  ],  children: [],  },  {  id: "1d0adf08-1b42-421a-b9ea-b3125dcc96d9",  type: "bulletListItem",  props: {  textColor: "default",  backgroundColor: "default",  textAlignment: "left",  },  content: [  {  type: "text",  text: "Splitting & merging cells",  styles: {},  },  ],  children: [],  },  {  id: "99991aa7-9d86-4d06-9073-b1a9c0329062",  type: "bulletListItem",  props: {  textColor: "default",  backgroundColor: "default",  textAlignment: "left",  },  content: [  {  type: "text",  text: "Header row & column",  styles: {},  },  ],  children: [],  },  ],  },  {  id: "c7bf2a7c-8972-44f1-acd8-cf60fa734068",  type: "paragraph",  props: {  textColor: "default",  backgroundColor: "default",  textAlignment: "left",  },  content: [],  children: [],  },  ],  });   // Renders the editor instance using a React component.  return <BlockNoteView editor={editor}></BlockNoteView>; }