Import Excel data into Visio: link rows to shapes
Use Visio's Data tab to link Excel rows to shapes, choose a stable row ID, and refresh the data. Includes a sample table and explains when Data Visualizer is the right feature instead.
Importing Excel data into Visio is done with Link Data to Shapes on the Data tab: it binds each row to a shape, and it can create one shape per row you drag in, but it never draws the connectors between them.
The short version
- Importing lives on the Data tab: Quick Import for Excel, Custom Import for the Data Selector wizard's six documented sources.
- Imported rows sit in the External Data window, which holds "a snapshot of your source data at the time of import".
- Dragging rows onto blank canvas creates one shape per row, and no connectors, ever.
- One row can link to many shapes, but each shape links to only one row.
- Plan 2 among the subscriptions, desktop only: Visio for the web can view a data-linked diagram but not edit it.
Two features read Excel, and only one of them draws a diagram
Start with a small workbook: Step ID | Step | Owner | Status, with rows 101 | Review request | Intake | Open and 102 | Approve request | Manager | Pending. Keep Step ID unique and stable. In the Visio desktop app, open Data > Quick Import, choose the workbook and sheet, then drag a row from the External Data window onto a blank drawing or link it to an existing shape. The rows attach data to shapes; draw the connectors yourself. If the workbook should generate the arrows from a next-step column, use the separate Data Visualizer workflow at /guides/how-to-use-visio-data-visualizer. In Visio, importing Excel data happens on the Data tab, and the feature is called linking: you point Visio at a workbook, the rows arrive in a panel called the External Data window, and you then attach those rows to shapes on the page. Microsoft exposes two entry points there: Quick Import, the fast path for Excel, which only asks you to choose a workbook and a sheet, and Custom Import, which opens the Data Selector wizard for everything else. The wizard's documented source list is exactly six items: a Microsoft Excel workbook, a Microsoft Access database, a Microsoft Windows SharePoint Services list, a Microsoft SQL Server database, another OLEDB or ODBC data source, or a previously created connection. What none of that does is draw a single arrow.
That last sentence is why people finish an import and conclude the import failed. Two different Visio features read Excel, and they do opposite jobs. Data Visualizer generates a whole flowchart (shapes, connectors, branch labels, swimlanes) from a table that carries a next-step column, and it is covered at /guides/how-to-use-visio-data-visualizer. Link Data to Shapes does something narrower and, for a lot of work, more useful: it makes each shape carry a row of real data, which the shape can then display as text, a bar, an icon or a colour. The layout and the flow stay yours to draw. If you were expecting a diagram to be produced from your table, you wanted the other feature.
Both halves of the licensing story are worth knowing before you start. Among the subscription tiers, linking shapes to external data is a Visio Plan 2 capability: Microsoft's comparison places the row "Link diagram shapes to data from multiple sources, including Excel, SharePoint lists, and SQL Server" on Plan 2, along with data graphics. It is also desktop only: "Data linking is only available through the Visio desktop app, but in Visio for the web you can view data-linked diagrams." Whether the perpetual Visio Standard edition has the Data tab at all is genuinely unclear: Microsoft's own overview says Professional while the Applies-To banners on the linking articles list Standard, so do not plan a rollout around either answer.
One correction while we are here, because it is the thing most often said wrongly about this feature: linking can create shapes. Microsoft's instruction is to "Drag a row or set of rows from the External Data window onto a blank space in your drawing", and "One instance of the shape that you click appears for each row that you drag onto the drawing." Sixteen rows can become sixteen shapes in one gesture; you still have to connect them yourself. Do the preparation Microsoft asks for first ("make sure that one column of your data contains unique values for each row, and that the values match the text on the shapes"), because otherwise the first refresh is where you discover the omission.
The shapes an import gives you, and the flow it does not
A churn-risk review assembled one spreadsheet column at a time, starting from shapes with data and nothing joining them, which is exactly where a Visio import leaves off.
Shapes carrying data, nothing joining them
This is the state a successful Link Data to Shapes import leaves you in: shapes on the page, each bound to a row ("Refresh the churn-risk dataset", the scoring step, and a decision diamond) with not one arrow between them. Nothing has gone wrong; connectors are simply not part of what the feature does.
The next-step column draws the arrows
Filling in which row each step leads to is what turns a field of shapes into a process. "Keep the account on the watchlist" points back at the scoring step, so the loop appears, and "Publish the at-risk queue with its risk drivers" carries the flow out of the signal phase. In Visio this column has no equivalent: it is the hand-drawing you would still be doing.
Labelled branches, so a diamond can be read
"Is the leading driver commercial or product-related?" splits towards "Prepare the renewal and pricing position" and "Confirm the blocked feature in the usage data", and each exit now says which case it carries. A decision with two unlabelled exits is the most common unreadable thing in a process diagram, whatever tool drew it.
Owners, and the loop nobody remembers to draw
The lane columns place every step with the team that performs it, so the handoffs from data and analytics to customer success to the account manager become visible rather than implied. The full chart also exposes the escalation route: "Is the account recoverable before renewal?" sends a second attempt back to "Contact the customer and agree an action plan" instead of quietly ending.
How it works
Start in the Visio desktop app
Data linking has no web equivalent: "Data linking is only available through the Visio desktop app, but in Visio for the web you can view data-linked diagrams." Among the subscriptions the desktop app comes with Visio Plan 2, and the linking and data-graphics rows in Microsoft's comparison are Plan 2 rows. There is no Visio desktop app for macOS, so a Mac is a viewer here. Microsoft's docs conflict over whether perpetual Visio Standard exposes the Data tab, so confirm on the machine in front of you rather than on a spec sheet.
Prepare the workbook around one unique column
Microsoft's prep rule is the whole ballgame: "To make the import process go smoothly, make sure that one column of your data contains unique values for each row, and that the values match the text on the shapes." So flatten the sheet to one header row and one record per row, no merged cells and no blank separators, and add or nominate a column of stable identifiers: an account number, a step ID, an employee number. Anything you intend to bind to existing shapes has to match the text on those shapes.
Import from the Data tab
On the Data tab, Quick Import is the Excel fast path: choose the workbook, then choose the sheet. Custom Import opens the Data Selector wizard, whose documented sources are a Microsoft Excel workbook, a Microsoft Access database, a Microsoft Windows SharePoint Services list, a Microsoft SQL Server database, another OLEDB or ODBC data source, or a previously created connection. Microsoft's own pages describe the surrounding ribbon group three different ways, so navigate to the Data tab and read what is on it rather than hunting for a promised button label.
Choose the identifier a refresh will match on
The wizard has a page called "Configure Refresh Unique Identifier", and it is the step people click past. The column you nominate there is how Visio later works out which row belongs to which shape, so a wrong or non-unique choice is not a cosmetic mistake: it makes refreshing unreliable from the start, and it is decided here rather than fixable later. Choose a value that will not be edited: an account number rather than an account name, a step ID rather than a step description. What happens when a refresh cannot match a row is /guides/how-to-update-visio-flowchart-from-excel's subject.
Put the rows on the page, or bind them to shapes already there
Two directions. To create shapes from data, "Drag a row or set of rows from the External Data window onto a blank space in your drawing." "One instance of the shape that you click appears for each row that you drag onto the drawing." To attach data to shapes you have already drawn, select them and use Link to Selected Shapes from the row's right-click menu, or run the Automatically Link wizard to match rows to shapes in bulk. The cardinality is asymmetric: one row can feed many shapes, but each shape links to only one row.
Apply data graphics, then draw the connectors yourself
With shapes linked, go to the Data tab, Display Data group, and open the Data Graphics gallery. The "Displayed as" dropdown offers exactly four kinds (Text, Data Bar, Icon Set and Color by Value) and No Data Graphic removes one again. Then wire the diagram by hand: hover over the first shape and select the small arrow pointing at the shape you want to reach, or switch to the Connector tool on the Home tab (Ctrl+3) and drag between shapes, returning to the Pointer Tool with Ctrl+1 or Esc.
Mistakes to avoid
Waiting for the connectors to appear
Forty shapes land on the page, each carrying its row, and nothing joins them. This is the documented behaviour, not a failed import: Link Data to Shapes attaches data, it does not build a flow. If you wanted the diagram generated from a table, that is Data Visualizer with its next-step and connector-label columns: a Plan 2 desktop template, described at /guides/how-to-use-visio-data-visualizer.
No column of unique values
Without a stable unique key chosen at "Configure Refresh Unique Identifier", Visio cannot tell which row belongs to which shape on the next refresh, and you end up arbitrating the "Refresh Conflicts" pane row by row. Fix it in Excel before importing, not afterwards, and if you are binding to shapes that already exist, the key values also have to match the text on those shapes.
Treating the External Data window as a live view of the workbook
It is not. "The data that appears in the External Data window is a snapshot of your source data at the time of import." Somebody editing the workbook changes nothing in the drawing until you run Data > Refresh Data or Refresh All. If the numbers need to be current, set an interval in the Configure Refresh dialog: "select the Refresh every check box, and then click the arrows to choose an interval".
One import quietly makes the file uneditable for half the team
Microsoft lists diagrams connected to Excel, Access, SharePoint lists, SQL Server or other OLEDB and ODBC sources among the things Visio for the web cannot edit. Colleagues on Visio Plan 1, which is web and Teams only and does not include the desktop app, can view and comment on the diagram afterwards but not change it. Decide who needs to edit before you link, because linking is what moves the file out of their reach.
Add the connectors an import leaves out
Open the churn-risk review as your own chart to see the columns that carry the connections, then paste your own rows over them.
Related guides
Frequently asked questions
Is Link Data to Shapes the same thing as Data Visualizer?
No, and confusing them is the usual reason an import disappoints. Data Visualizer is a set of Visio desktop templates that generate a flowchart from an Excel table (shapes, connectors, branch labels and swimlanes) and it syncs both ways, with Refresh Diagram and Update Source Data on the Data Tools Design tab. Link Data to Shapes works on the Data tab, attaches rows to shapes, draws no connectors, and moves data in one direction only, from source to drawing. Microsoft documents both as Plan 2 among the subscriptions. See /guides/how-to-use-visio-data-visualizer for the other one.
Does importing Excel data into Visio create the shapes automatically?
It can, which contradicts a lot of what is written about it. Microsoft's own instruction is to "Drag a row or set of rows from the External Data window onto a blank space in your drawing", and "One instance of the shape that you click appears for each row that you drag onto the drawing," so the shape you have selected in the stencil is stamped once per row. What is never created is a connector. You get a field of shapes carrying data, positioned where you dropped them, and the flow between them is still a drawing job. Binding data to shapes you have already placed is the other direction, via Link to Selected Shapes or the Automatically Link wizard.
Can I edit the Excel file from inside Visio after linking?
Not with linked data. Microsoft states it twice and flatly: "You cannot update the data source to which a Visio diagram is linked by making changes in the Visio diagram," and "You cannot refresh your data source by changing the data in your drawing." The workbook is the master; the drawing reads from it. The one exception in Visio is a Data Visualizer diagram, which does write back through Update Source Data, and there the caution is that formulas do not survive it, because after you choose Overwrite "Visio converts the formula to the formula result". Refresh behaviour in both mechanisms is covered at /guides/how-to-update-visio-flowchart-from-excel.
What if my team works in a browser, or on a Mac?
Then data linking is largely closed to you: there is no Visio desktop app for macOS and none planned for Microsoft 365, linking is desktop only, and a data-connected diagram can be viewed but not edited in Visio for the web. Be clear about what that costs you, because linking's real strength is data graphics (Text, Data Bar, Icon Set and Color by Value applied per shape) and a shape that renders its own numbers as a bar or a traffic light is something a flow-oriented tool does not replace. If what you need is the flow rather than the instrumentation, QueryChart takes the opposite approach: the rows are the chart, so editing the data is editing the diagram, in any modern browser, and the connections are a column of row numbers rather than something you draw. The churn-risk example on this page is /templates/data-driven-flowchart, and it is editable in place.