Home / Guides / Inlay
Data panel

BIMIO Inlay

Inserts an Excel range into Revit as a drawn table, preserving its formatting, and detects when the Excel file has changed.

Overview

Inlay brings a range from an Excel sheet into your Revit model and draws it as a real table in a drafting view or a legend. It is not an image or an OLE object: each cell is reproduced with native Revit geometry (filled regions for backgrounds, text notes for contents and detail lines for borders), so the table prints and displays exactly the same as it does in the project views.

The link to the Excel file is remembered inside the model itself. When someone edits the Excel file, you click Refresh and the affected table is marked as pending; with one click you redraw it with the new content, in the same place and in the same view, without setting anything up again.

Inlay preserves the essentials of the Excel formatting: font (name, size, bold, italic, underline and colour), cell fill colour, horizontal and vertical alignment, text wrapping, borders with their thickness and colour, merged cells, and column widths and row heights. Rows and columns hidden in Excel are not drawn, just as when printing the sheet.

Who it's for

Architects and BIM managers who maintain finishes schedules, area tables, code legends or any supporting table in Excel, and need to show them on Revit sheets without retyping them or pasting images that age badly.

Requirements

  • Revit 2022 to 2026 with the BIMIO suite installed (Inlay loads from the BIMIO tab).
  • A project document open in Revit.
  • The Excel file in .xlsx or .xlsm format (the old .xls format is not supported). You do not need Excel installed: Inlay reads the file directly, even if it is open in Excel at the time.
  • To draw in a legend, the legend must already exist in the project: Revit does not allow legends to be created programmatically.

Where to find it

BIMIO tabData panelInlay button

The window is called BIMIO · Inlay. It is modeless: you can keep working in Revit while it is open, and if you click the button again the existing window is focused (restored if it was minimised) instead of opening another one.

Key concepts 8 terms

Table link
The record that ties a specific Excel range (file + sheet + range) to what has been drawn in Revit. It is stored inside the model, so it travels with worksharing synchronisation, with Save As and with eTransmit, and the whole team sees the same links.
Range
The area of the sheet that is drawn, in Excel notation such as A1:G24. When you choose the sheet, Inlay automatically proposes that sheet's used range.
Drafting view
An annotation-only view where Inlay can draw the table. If none exists, Inlay automatically creates one named Inlay - <Excel file name> at 1:1 scale.
Legend
The other possible target. As Revit does not allow legends to be created via the API, Inlay draws in a legend that already exists; if the legend is active when you draw, you are asked to mark the anchor point with a click.
Anchor
The point in the view where the top-left corner of the table is placed. It is stored with the link and reused on every update, so the table never jumps position and you are never asked where to place it again.
Status (pill)
The colour indicator on each row: Up to date (the Excel file matches what is drawn), Excel pending (the Excel file changed since the last draw), Not drawn (linked but not yet drawn), Source missing (the file is not at its path), Can't read (the file exists but cannot be read right now) and Missing in model (the view or the drawn elements were deleted in Revit).
Fingerprint
A digest of the range's content and formatting that Inlay computes when drawing. On each Refresh, the current fingerprint of the Excel file is compared with the stored one: if they differ, the table is marked as Excel pending. This detects real edits, not just changes to the file date.
Pinned elements
Everything Inlay draws is pinned with Revit's pin. If someone tries to move or delete a cell by hand, Revit warns them first: the table is protected against accidental tampering.

The interface

The window is split into two halves separated by an adjustable divider. On the left is the list of Excel tables linked to the project, with its toolbar; on the right, the preview of the selected table and the main draw button.

Each row in the list is a link: it shows the Excel file name, the sheet+range reference in monospaced type, the target tick boxes (Drafting and Legend) and the status pill. When you hover over a row, the pill fades out and that row's quick actions appear: Draw, Remove and, if the file has gone missing, Relink.

The BIMIO · Inlay window with three linked tables in the left-hand list (one with the green Up to date pill, another with the amber Excel pending pill and another with the grey Not drawn pill) and, on the right, the preview of a finishes table with a merged-cell header and coloured fills.
assets/shots/inlay/fig-02.pngThe BIMIO · Inlay window with three linked tables in the left-hand list (one with the green Up to date pill, another with the amber Excel pending pill and another with the grey Not drawn pill) and, on the right, the preview of a finishes table with a merged-cell header and coloured fills.
The BIMIO · Inlay window with three linked tables in the left-hand list (one with the green Up to date pill, another with the amber Excel pending pill and another with the grey Not drawn pill) and, on the right, the preview of a finishes table with a merged-cell header and coloured fills.
Toolbar (top left)Contains + Add Excel table (link a new range), Refresh (check whether the Excel files have changed), Draw selected (draw the rows ticked with their tick box) and Update all pending, a button that only appears when a table has pending Excel changes.
Linked tables listA table with columns: selection tick box, EXCEL SOURCE (file name and "Sheet"!Range reference), IN VIEW(S) (Drafting and Legend tick boxes that define where that table is drawn) and STATUS (status pill; its tooltip explains the reason for the status). Clicking a row selects it, highlights it and loads its preview. If there are no tables yet, an empty state is shown with a + Add Excel table button.
Preview (right)Under the Preview (what will be drawn) heading, a faithful replica of what will be drawn in Revit is rendered: fonts, fills, alignments, merged cells and borders, with hidden rows and columns already collapsed. Above it, a summary shows the sheet, the range and the size (rows x columns). If the range cannot be read (file moved or locked), the preview stays empty and that summary shows the reason for the error. For performance, the preview renders at most 3,000 cells.
Status bar and main button (bottom right)Shows progress and result messages (with a progress bar during long operations) and the primary Draw / Update in Revit button, which draws or updates the currently selected table.

Step-by-step workflows 8 workflows

1

Link an Excel range to the project

6 steps

Goal. Register an Excel file, sheet and range as a linked table, ready to be drawn.

  1. Click + Add Excel table on the toolbar (or in the empty state if there are no tables yet).The standard Windows file dialog opens, filtered to .xlsx and .xlsm.
  2. Select the Excel file and confirm.The file can be open in Excel at the time; Inlay reads it anyway.
  3. In the Add Excel table dialog, choose the sheet from the SHEET drop-down.When you choose a sheet, the RANGE field is filled in automatically with that sheet's used range (for example A1:G24) and a note shows its size. If the sheet is empty, the field is filled with A1:E10 as a starting point and the note warns you that the sheet appears to be empty, so that you can type the correct range yourself.
    The Add Excel table dialog with the sheet drop-down open, the proposed range in the RANGE field and the Used range note below.
    assets/shots/inlay/fig-03.pngThe Add Excel table dialog with the sheet drop-down open, the proposed range in the RANGE field and the Used range note below.
  4. Adjust the range in the RANGE field if you do not want the proposal.As you type, Inlay shows how many cells the range covers. From 5,000 cells it warns you that drawing will create a large number of elements; above 50,000 cells the link is blocked and you must narrow the range.
  5. Tick the target views: Drafting view (ticked by default) and/or Legend view.You must tick at least one. Remember: drafting views are created automatically, but a legend must already exist in the project.
  6. Click Add.You can also confirm with Enter (Add is the default button) or close without linking with Esc or the Cancel button. The table appears in the list with the Not drawn status, remains selected and its preview loads on the right. The status message reads Linked. Press Draw to place it.
Result. A new link stored inside the model, with its preview visible. Nothing has been drawn in Revit yet.
  • If the range includes rows or columns hidden in Excel, do not worry: they will be skipped when drawing, just as when printing the sheet.
  • You can link several ranges from the same file: each one is an independent link with its own status.
2

Draw the table in a drafting view

5 steps

Goal. Turn the linked range into real Revit geometry inside a drafting view.

  1. Click the table's row to select it and review the preview on the right.The preview shows exactly what will be drawn, with the sheet - range - rows x columns summary above it.
  2. Check that the row's Drafting tick box is ticked.
  3. Click Draw / Update in Revit (or the Draw button that appears when you hover over the row).Inlay reads the Excel file again, creates a drafting view named Inlay - <file name> at 1:1 scale and draws the table anchored at the view's origin. Everything happens in a single transaction named BIMIO Inlay — Draw.
    A newly created drafting view in Revit showing the drawn table with fills, text and borders identical to the Excel file.
    assets/shots/inlay/fig-04.pngA newly created drafting view in Revit showing the drawn table with fills, text and borders identical to the Excel file.
  4. Review the result: Revit takes you automatically to the newly created view.The row's status changes to Up to date. If there were warnings (for example, a cell that could not be drawn), the message shows how many and the pill's tooltip lists the details.
  5. Place the drafting view on whichever sheet you want, like any other view.Later updates reuse that same view, so the table placed on sheets does not shift position.
Result. A drafting view with the table drawn as filled regions, text notes and detail lines, all pinned and ready to place on sheets.
  • The whole draw is a single transaction: a single Ctrl+Z reverts it completely.
  • Do not change the drafting view's scale: the table is plotted at a ratio of 1 Excel point = 1 mm on paper on a 1:1 view.
3

Draw the table in a legend

5 steps

Goal. Place the table in a legend view, choosing the exact point where it is anchored.

  1. Create or locate the target legend in Revit if it does not exist yet.Revit does not allow add-ins to create legends, so Inlay needs one that already exists.
  2. Activate the legend in Revit (make it the open, active view).With the legend active, Inlay will let you mark the anchor with a click. If you draw with no legend active and no previous anchor, Inlay will use the first legend in the project at its origin and will warn you.
  3. In Inlay, tick the row's Legend tick box and click Draw / Update in Revit.
  4. When Revit prompts you, click in the legend to mark the table's top-left corner.The Revit prompt reads Pick the top-left anchor for the table in this legend. That point is stored: you are never asked again. If you cancel the pick with Esc, the table is placed at the legend's origin.
    An active legend view in Revit with the point-picking cursor and the table about to be placed.
    assets/shots/inlay/fig-05.pngAn active legend view in Revit with the point-picking cursor and the table about to be placed.
  5. Check the table drawn in the legend.In future updates, Inlay recognises that same legend by its identifier and redraws at the same anchor, even if another view is active.
Result. The table drawn inside the legend, at the point you marked, which you can now place on as many sheets as you need.
  • The same table can have both tick boxes ticked and be drawn in a drafting view and a legend at the same time.
  • If you picked the wrong legend, unticking and re-ticking the box is not enough: the remembered target is kept. To change it, untick Legend, click Draw / Update in Revit (the redraw forgets the previous legend), tick Legend again, activate the correct legend and draw again: Inlay will ask you for a new anchor with a click.
4

Detect Excel edits and update (Refresh)

4 steps

Goal. Find out which tables have fallen out of date with their Excel files and bring them up to date.

  1. Click Refresh on the toolbar.Inlay checks each file: if the date and size have not changed, the table stays Up to date without opening the file. If the file changed, it reads the range, computes its fingerprint and compares it with the one from the last draw.
  2. Watch the status pills: tables whose content or formatting differs change to Excel pending.The message at the bottom summarises how many tables have pending changes. If the file's date changed but the range is identical, the table remains Up to date: no false alarms.
    The table list after a Refresh with two rows marked with the amber Excel pending pill and the Update all pending button visible on the toolbar.
    assets/shots/inlay/fig-06.pngThe table list after a Refresh with two rows marked with the amber Excel pending pill and the Update all pending button visible on the toolbar.
  3. Click Update all pending to redraw all the pending tables at once.This button only appears when there are pending tables. You can also update a single one with its Draw button. The update deletes the previous geometry and redraws it in the same view and at the same anchor.
  4. Check the final summary in the status bar.It shows how many tables were updated and, if any failed, points you to that row's status for the reason.
Result. All the tables match their Excel files again and the pills return to Up to date.
  • Refresh also detects problems on the Revit side: if someone deleted the view or the drawn elements, the table changes to Missing in model so you know it needs redrawing.
  • The check is manual: Inlay does not watch the files in the background. Get into the habit of clicking Refresh when you open the window.
5

Update several specific tables at once

3 steps

Goal. Redraw a subset of tables in bulk, whether they are pending or not.

  1. Tick the box in the first column of each table you want to redraw.
  2. Click Draw selected on the toolbar.The button is only enabled when at least one row is ticked. The progress bar advances table by table.
  3. Review the summary: Updated N selected table(s), or the failure count if any could not be drawn.Each row keeps its own status and its tooltip with the warnings.
Result. All the ticked tables have been read again from Excel and drawn in their usual views and anchors.
  • It is useful after changing the project's text types or styles: a bulk redraw regenerates every table with the current state of its Excel file.
6

Change a table's target views

2 steps

Goal. Decide whether a table is drawn in a drafting view, in a legend or in both.

  1. In the row's IN VIEW(S) column, tick or untick the Drafting and Legend tick boxes.The change is saved to the model instantly, with no confirmation button.
  2. Click Draw / Update in Revit to apply the change in the model.Drawing deletes the link's previous geometry and draws only in the ticked targets. If you untick both and try to draw, Inlay warns: No target view selected (Drafting or Legend).
Result. The table is drawn exactly in the chosen targets.
  • Bear in mind that removing a target and redrawing removes the table from that target: the redraw is always complete.
7

Relink a moved or renamed Excel file (Relink)

4 steps

Goal. Recover a table whose source file is no longer at the stored path.

  1. Locate the row with the Source missing pill and hover over it.The pill's tooltip shows the path where the file was looked for. On hover, the Relink button appears instead of Draw.
    A list row with the Source missing pill replaced on hover by the Relink and Remove buttons.
    assets/shots/inlay/fig-07.pngA list row with the Source missing pill replaced on hover by the Relink and Remove buttons.
  2. Click Relink and choose the Excel file in its new location.
  3. In the sheet and range dialog, confirm (or correct) the new file's sheet and range and click Add.It is the same dialog as when linking; it even lets you point to a different sheet or range if the file's structure changed.
  4. Click Draw to redraw the table from the new source.Relinking keeps the views and anchors already drawn: the table updates in place. The message reminds you: Relinked. Press Draw to update the table.
Result. The link points to the new file and the drawn table is back in sync, without losing its position in the views.
  • Relink is also useful for deliberately redirecting a table to a different file, for example the final version of a schedule that used to be a draft.
8

Remove a linked table

3 steps

Goal. Remove the link and delete the drawn geometry from the model.

  1. Hover over the row and click the red Remove button.
  2. Read the Remove linked table? confirmation dialog and click Remove & delete to confirm (or Cancel to abort).The warning explains that the link and the drawn elements (fills, text and borders) are deleted. The geometry can be recovered with Ctrl+Z in Revit, but the link record cannot.
    The Remove linked table? confirmation dialog with the Remove & delete and Cancel buttons.
    assets/shots/inlay/fig-08.pngThe Remove linked table? confirmation dialog with the Remove & delete and Cancel buttons.
  3. Check that the row disappears from the list and the model geometry has been deleted.Deleting the geometry and the record happens in a single transaction named BIMIO Inlay — Remove.
Result. The link no longer exists and the table disappears from its views. Drafting views created by Inlay are not deleted; you can remove them by hand if you no longer use them.
  • If you only want to pause updates without losing the drawn table, do not remove it: simply do not click Draw after a Refresh.

Options reference 7 options

OptionWhat it does
Drafting / Legend (per row, IN VIEW(S) column)Tick boxes that define which type of view each table is drawn in: drafting view, legend or both. They are saved to the model as soon as you change them and applied on the next draw.
SHEET (Add Excel table dialog)Drop-down with all the sheets in the workbook. When you choose one, the range is filled with its used range and its size is shown.
RANGE (Add Excel table dialog)Text field with the range in A1 notation (for example B2:H40). As you type, the number of cells is shown; from 5,000 a size warning appears and above 50,000 the link is blocked.
Drafting view / Legend view (Add Excel table dialog)The link's initial targets. Drafting view is ticked by default; you must choose at least one of the two.
Update all pending (toolbar)Contextual button that only appears when a link is in Excel pending; it redraws all the pending tables at once.
Large table confirmationIf the range exceeds 5,000 cells, clicking Add asks for explicit confirmation (Add anyway) because drawing will create tens of thousands of Revit elements.
Removal with geometry deletionWhen removing a link, Inlay always deletes the drawn geometry too, after confirmation in the Remove linked table? dialog.

What you get out

  • Detail geometry in Revit: one filled region per cell with a background, one text note per cell with content and detail lines for the borders, all pinned.
  • One drafting view per table (when the target is Drafting), named Inlay - <Excel file name>, at 1:1 scale, ready to place on sheets.
  • Reusable auxiliary types in the model with the FJV_Table_ prefix (text note types per combination of font, size, style and colour; filled region types per colour, and line styles per border thickness and colour), easy to find and purge.
  • The link register stored inside the model (extensible storage, FJV_Table_State element), shared by the whole team in workshared models.

Pro tips 5 tips

You can read an Excel file that is open in Excel at the time: Inlay opens the file in shared mode, designed for live coordination work.
The link state lives inside the model: when you synchronise, your colleagues see the same tables with the same statuses, and it survives Save As, detaching and eTransmit.
Cells with formulas are drawn with their visible, formatted value, exactly as they appear in Excel; the formula itself is not transferred.
In Excel, the General alignment is respected intelligently: numbers and dates come out right-aligned and text left-aligned, as in the original sheet.
Do not edit the drawn table by hand: the elements are pinned to warn you, and any manual tweak is lost on the next redraw. Always make corrections in the Excel file and update.

Good to know

It only reads .xlsx and .xlsm files; the old .xls format is not supported.
The flow is one-way (Excel to Revit): changes made in Revit do not go back to the Excel file and are lost on redraw.
Revit does not allow legends to be created via the API: to draw in a legend, it must exist beforehand.
Hard limit of 50,000 cells per range; from 5,000 cells confirmation is requested because each cell generates several Revit elements.
The preview renders at most 3,000 cells (the actual drawing is not affected).
Text, font, colour, fill, alignment, text wrapping, borders and merged cells are reproduced; images, charts, comments and conditional formatting icons are not transferred.
Excel border styles are approximated to four thicknesses (hairline, thin, medium, thick) and dashed borders are drawn as solid lines.
The text size in Revit is a visual approximation of the Excel point size (cap-height factor ~0.7); there may be small metric differences.
Change detection is manual (Refresh button): there is no automatic background watching of the file.
Redrawing is always complete: all the link's previous geometry is deleted and drawn again; there is no cell-by-cell update.
Rows and columns hidden in Excel are always skipped; there is no option to include them.
The drafting view is created at 1:1 scale and the table is plotted at a ratio of 1 point = 1 mm on paper; changing the view's scale breaks the relationship between text and cells.

FAQ 8 questions

Do I need Microsoft Excel installed to use Inlay?
No. Inlay reads .xlsx and .xlsm files directly, without automating Excel. In fact, it can read the file even if someone else (or you) has it open in Excel at the time.
I have edited the Excel file but the table in Revit does not change. Why?
The update is not automatic. Open Inlay, click Refresh so that it checks the files and you will see the Excel pending pill on the affected tables; then click Update all pending (or Draw on the row) to redraw them.
Can I move or tweak the table directly in Revit?
All the drawn elements are pinned with Revit's pin precisely to prevent this: if you try to move or delete them, Revit warns you. Any manual change will be lost on the next redraw, because Inlay deletes and redraws the whole table. Make your changes in the Excel file and update.
Why can I not draw in a new legend?
Revit does not allow add-ins to create legend views. Create the legend yourself (for example by duplicating an existing one), activate it and then draw: Inlay will ask you to mark the table's anchor point inside that legend with a click.
What does the Missing in model pill mean?
That the link was recorded as drawn, but its view or its elements no longer exist in the model (someone deleted them, the operation was undone or the model was closed without saving). Just click Draw on that row to restore the table.
We moved the Excel file to another folder on the server. Do we have to start from scratch?
No. The row will show Source missing; hover over it, click Relink, choose the file in its new location and confirm the sheet and range. The drawn views and anchors are kept: you will only need to click Draw to update the content.
If I work with worksharing, do my colleagues see the linked tables?
Yes. The links are stored inside the Revit model itself, not in your user profile, so they travel with synchronisation with the central model: any team member opens Inlay and sees the same tables with their statuses.
Can I undo a draw or a removal?
Yes, each operation is a single Revit transaction (BIMIO Inlay — Draw or BIMIO Inlay — Remove), so a Ctrl+Z reverts it in one go, geometry and state together. Be careful with removal: the geometry is recovered with Ctrl+Z, but the link record is not restored.