如何从电子表格创建 Visio 流程图
你的步骤在 Google Sheets、一份 CSV 导出或一张共享台账里,而 Visio 通往生成式图表的每条路都只认 Excel 工作簿。怎样规规矩矩地转换,以及怎样避免最后手上有两个版本的流程。
Visio 只从 Excel 工作簿生成流程图,所以一份放在别处的步骤清单,必须先另存为 .xlsx 并做成 Excel 表格,Create Diagram from Data 向导才会读它。
简而言之
- 向导要你选一个 Excel 工作簿、再选它里面的一个表格,所以一个 Sheet 或一份 CSV 必须先变成 .xlsx。
- Google Sheets 不在 Data Selector 向导为 Link Data to Shapes 记载的那六个源之中。
- 把导出的数据做成 Excel 表格,而不是自定义区域——Microsoft 把“让图表保持同步”系在使用表格上。
- 组织结构图向导(Organization Chart Wizard)是唯一能直接吃分隔文本的地方:它读以制表符或逗号分隔的 .txt。
- 导出之后,图表链接的是那份副本,而没有任何东西让副本和原来的清单保持一致。
通往 Visio 的每一道门,都是 Excel 那道门
Visio 通往生成式流程图的每一条路线,要的都是一个 Excel 工作簿。Create Diagram from Data 向导第一页要你“选择 Excel 工作簿”,然后“在工作簿中选择一个表格或一个自定义区域”。Link Data to Shapes 背后的 Data Selector 向导列出六个源——一个 Excel 工作簿、一个 Access 数据库、一个 SharePoint 列表、SQL Server、另一个 OLEDB 或 ODBC 源,或者一个此前创建的连接——而 Google Sheet 不在其中。所以如果你的步骤住在一个 Sheet、一份 CSV 导出、一张共享台账、Airtable 或一份 Jira 导出里,实际的答案是先把这份清单转成 .xlsx,再走 Excel 那条路。那次转换就是全部的活儿,而且值得认真做。
一落进 Excel,Microsoft 自己的指引就开始适用:“如果你想让图表和数据保持同步,请使用 Excel 表格而不是自定义区域。”向导会接受区域,不会有任何提示,图也照样看着正确——但区域悄悄让你放弃了 Refresh Diagram,而这恰恰是从数据生成图表、而不是手画一张图的唯一理由。这条路线还带两个约束。Microsoft 把 Data Visualizer 模板和 Create Diagram from Data 向导记载为仅 Visio Plan 2 可用,撰稿时的标价是每用户每月 15 美元、按年付费,而 Plan 2 是唯一包含 Windows 桌面版应用的订阅层级。Microsoft 没有面向 macOS 的 Visio 桌面版应用。
然后是那些导出说明里从不提的部分。一旦你导出,图表链接的是那份副本,而不是大家实际在编辑的那份清单。如果真正的待办住在一个四位同事都在更新的 Sheet 里,或者住在一张由表单喂数据的台账里,那么你现在手上有两个版本的流程,而其中一个从你按下保存的那一刻起就开始变旧。Refresh Diagram 是从你选定的那个工作簿里拉数据的,所以一次刷新让图表对那份副本保持诚实,而对原件什么也没说。Update Source Data 写的是另一个方向,写进同一份副本——而 Microsoft 明确表示,Data Visualizer 的源数据里不应使用公式,因为 Overwrite 会把每个公式转换成它的结果。
所以这条路线上真正的决定,是这两份副本哪一份是主本,而它更适合有意做出,而不是三个月后被发现。下面的实例在 QueryChart 里搭起一条从客户反馈到改进措施的流程,那里行就是图表:一个步骤一行,一列写明该步骤通向的行号,再加负责人列和阶段列。没有导出,也没有链接,所以不存在第二份副本可以漂移。逐个查看下面四个阶段,看每个阶段填的是哪一列——那也正是在 Visio 向导能做点有用的事之前,你那份 .xlsx 里需要的列顺序。这一切都不说明 Visio 那条路线是错的;它只说明这是一条中间带交接的路线,而交接就是准确性漏掉的地方。
同样的行,一列一列搭起来
一条从客户反馈到改进措施的流程,从一份扁平的步骤清单搭起来,列的顺序正是 Visio 读一份 Excel 导出之前所需要的。
导出的清单,只有标签
“通过任一渠道提出反馈”“将反馈登记入台账”“分类并判定严重程度”——三行,带图形而没有任何关系,而这正是一份台账导出给你的东西。每个步骤都在,流程却仍然看不见。
让它变成流程的那一列
填上每个步骤通向的行号就画出了箭头,而分叉出现在“客户是否需要单独回复?”。这一列是任何导出的台账都不会包含的,因为电子表格从来不需要说明接下来会发生什么。
给分支起名
“原因是否在自己的流程之内?”现在在两条出口上带着“在流程之内”和“不在可控范围”,而它下面那道重复发生的检验则把“是”和“偶发、影响小”分开。没有标签的出口,是一张生成的图表读不回来的最常见原因。
泳道、回环和两个结束
泳道列把每个步骤放到客户、客户服务、流程责任人或质量名下,横跨五个阶段,而“变更是否解决了问题?”在没有解决时会退回“商定措施、负责人与验证方式”。两个结束:变更已确认后结案,以及无流程变更结案并记下原因。
运作方式
从清单所在的地方把它导出来
把步骤从 Sheet、台账、Airtable 库或 Jira 视图里导成表格数据,一个步骤一行,一行表头。在这个阶段,CSV 是一种完全合适的中间格式——它只是不能作为你最终交给 Visio 的东西。合并单元格、分组表头和空的分隔行,趁你还在产生它们的那个工具里就先清掉。
在 Excel 里打开它并另存为 .xlsx
向导的 Excel 页要你“选择 Excel 工作簿”,所以这个文件必须是工作簿。用 Excel 打开 CSV,另存为 .xlsx 格式。把数据放在一个工作表上,表头行上面什么都不要,并检查各列是否落进了各自的单元格,而不是挤成一列全是逗号的东西——那是分隔符不匹配的结果。
把数据转成 Excel 表格
不要把它留作区域。Microsoft 的指引很明白——“如果你想让图表和数据保持同步,请使用 Excel 表格而不是自定义区域”——而向导的第二个提示“在工作簿中选择一个表格或一个自定义区域”,就是这个选择落地的地方。区域只管用一次,之后永不刷新,而且没有任何错误提示告诉你为什么。
补上向导要映射的那些列
向导需要一个唯一且绝不为空的 Process Step ID、一段描述、后继步骤的 Next Step ID、分支图形的连接线标签,以及一个图形类型;职能列和阶段列只对跨职能流程图有意义。把你现有的 ID 改写成那个形状是最琐碎的部分,而 /zh/guides/把excel数据变成visio流程图 逐格讲了这套结构。
在 Visio 桌面版里启动 Data Visualizer 模板
打开 Visio,如果你已经在编辑就选择 File > New,然后选择 TEMPLATES 并选择 Flowchart,挑“Basic Flowchart - Data Visualizer”或“Cross-Functional Flowchart - Data Visualizer”。选一个度量单位、点创建,Create Diagram from Data 向导就会打开;把它的 Excel 页指向你的工作簿和你的表格。那五个向导页在 /zh/guides/用visio从excel创建流程图 里走了一遍。
定下哪一份是主本,然后让它们保持一致
在图表容器里单击,Data Tools Design 选项卡就会启用。Refresh Diagram 重新读取工作簿;Update Source Data 把图表的改动写回它,而如果工作簿放在台式机或网络文件服务器上,就必须先保存并关闭。这两条命令都不会碰你导出时用的那个 Sheet 或台账,所以给流程挑一个家,并告诉大家是哪一个。
应避免的错误
把一份 CSV 交给向导
Excel 页要的是一个工作簿,然后是它里面的一个表格或自定义区域;.csv 两者都不是,而改扩展名也改变不了这件事。先另存为 .xlsx。人们记得、然后过度推广的那个例外是组织结构图向导,它确实能读以制表符和逗号分隔的 .txt 文件——但它做的是组织结构图,不是流程流。
选了自定义区域而不是表格
向导接受区域,生成一张看着没问题的图,然后留给你一套不工作的同步。Microsoft 自己的指示是,如果你想让图表和数据保持同步就用 Excel 表格。修法是把数据转成表格并重跑向导;不会有任何对话框告诉你,Refresh Diagram 什么也没做正是因为这个。
让导出的副本和原件越漂越远
Refresh Diagram 读的是你选定的那个工作簿,而没有任何东西让这个工作簿和它来自的 Sheet 或台账保持一致。两周之后,这张图就是一份过期导出的忠实呈现。要么把那份 .xlsx 提为主本并停止编辑原件,要么在每次刷新之前把它当作一个有意的步骤重新导出覆盖。
丢掉导出文件里的公式
导出的东西常常带着公式,而搭一列 Next Step ID 通常会让人想用查找函数。Microsoft 的警告毫不含糊:不要在 Excel 数据源中使用公式,因为在 Update Source Data 对话框中选择 Overwrite 之后,Visio 会把公式转换为公式结果。第一次写回,就会把那列替你记账的东西压平。
改用行来搭这条流程
把客户反馈示例作为您自己的图表打开,把导出的行粘贴上去——不用工作簿、不用向导,也没有第二份副本要维持一致。
相关指南
常见问题
Visio 能直接导入一个 Google Sheet 吗?
没有任何有记载的路线可以。Link Data to Shapes 背后的 Data Selector 向导提供六个源——一个 Excel 工作簿、一个 Access 数据库、一个 SharePoint 列表、一个 SQL Server 数据库、另一个 OLEDB 或 ODBC 源,以及一个此前创建的连接——而 Google Sheets 不在其中。Create Diagram from Data 向导还要更窄:它要一个 Excel 工作簿,然后要它里面的一个表格或一个自定义区域。实际的做法是把这个 Sheet 下载成 .xlsx,把数据转成 Excel 表格,并从此把那个工作簿当作 Visio 所链接的文件。
我能从一个 CSV 文件创建 Visio 流程图吗?
走 Data Visualizer 这条路不行。它的向导要你选一个 Excel 工作簿,然后选它里面的一个表格或自定义区域,而 CSV 两者都不含,所以转成 .xlsx 是躲不掉的。分隔文本确实能进 Visio,但只有一个地方:组织结构图向导会读以制表符分隔和以逗号分隔的 .txt 文件,另外还读 Excel 工作簿、Org Plus 文本、Exchange Server 目录和 ODBC 源。那是组织结构图而不是流程流,/zh/guides/从excel创建visio组织结构图 讲了它。要做流程图,就先用 Excel 打开这个 CSV 并规规矩矩地另存一遍。
Visio 实际上能从哪些文件格式里读出一条流程?
比你正要离开的那个工具的导出菜单要窄。要生成一张流程图,只有一种:一个 Excel 工作簿,步骤放在一个表格或一个命名区域里。要把数据链接到你已经画好的图形上,Data Selector 向导记载了六个源——一个 Excel 工作簿、一个 Access 数据库、一个 SharePoint 列表、一个 SQL Server 数据库、另一个 OLEDB 或 ODBC 源,以及一个此前创建的连接。三者之中读得最宽的是组织结构图向导,它接受 .xls、.xlsx、.xlsm 和 .xlsb,还接受以制表符分隔、以逗号分隔和 Org Plus 的文本文件、一个 Exchange Server 目录以及 ODBC 源。这份清单里没有 Google Sheet、没有 CSV,也没有台账导出,所以 .xlsx 就是要转成的那个格式。
别人也在编辑那份电子表格,我怎么让图表和它保持一致?
在 Visio 这条路线上做不到,至少不能直接做到:图表绑定在你选定的那个工作簿上,所以总得有人重新导出、重新刷新,而这个人就是单点故障。有两个选项能去掉这次交接。把那份 .xlsx 本身当作工作文档,于是只有一份副本,并接受原来那张台账从此是个死件。或者把流程放在一个行就是图表的工具里——在 QueryChart 里,所有人在同一个网址上编辑同一批行,图表随之重新渲染,所以没有会被忘掉的导出步骤,也没有需要比对的副本。
