如何用 CSV 制作流程图

如何把一份 CSV 变成流程图:编辑器读取的表头名称、连线到这一列该填什么,以及各列的填写顺序——先方框文字,再形状,然后箭头,最后泳道。

运作方式

  1. 新建一份文件,而不是去改造导出文件

    你手上的这份 CSV 是一行一张工单、一条订单行或一条记录。你接下来要写的这份文件是一行一个步骤,而一条产出了一万条记录的流程,步骤通常不到二十个。把导出文件开在旁边,因为里面的队列名称、状态代码和分派组才是这条流程真正的词汇;但请把图写进一份新文件里。

  2. 把表头行放在第一行

    按编辑器的写法写下它使用的列名:形状、方框文字、连线到、连线文字,随后还有横向泳道和纵向泳道。这一行上面不能有任何东西——没有标题,没有导出时间戳,也没有空行——因为匹配是在文件的第一行上做的。你为自己保留的列,比如原始记录号,可以留在原处,会被原样带过。

  3. 写方框文字,一行一个动作

    一行就是一个人做的一件事。文本里出现“并”“以及”的行,请拆开;只描述一个阶段而不是一个动作的行,请删掉——“分级”是标题,“按影响范围与紧急程度确定优先级”才是步骤。想看效果,这时就可以先导入一次:你会得到一列没有箭头的方框,这正是一份只有标签、没有关系的文件应有的诚实模样。

  4. 填写形状

    第一行填开始,每个提问的行填决策,每个终点填成功、拒绝或结束。流程是默认值,所以那些单元格可以留空。请使用编辑器的写法——它不认识的取值会一声不吭地变成流程,而画成矩形的判断仍然带着它的分支标签,这让这个错误很容易被忽略过去。

  5. 填连线到,再填连线文字

    连线到填目标行的位置,第一条数据行算作 1,一行通向多处时用逗号分隔。连线文字按同样的顺序填分支名称,所以第一个标签属于第一个数字。请先把所有行写完,再开始编号:连线到是按位置的,之后插入一个步骤会把它下面每一行都往下推,并作废插入点之后的每一个引用。如果后来必须加一个步骤,就把它追加在末尾,再从该在的地方指过去。

  6. 补上泳道,存成 UTF-8,然后把文件拖进去

    把阶段填进横向泳道,把角色填进纵向泳道,然后以 UTF-8 和逗号分隔保存,并用文本编辑器打开确认存出来的确实是这样。把 .csv 拖到编辑器的表格区域上,或者把文本粘贴进去。图随着文件落地就画好了,连线自行选路,所以没有排版环节——之后要检查的,是有没有哪个方框没有箭头出去。

常见问题

能画出流程图的最小一份 CSV 是什么样?

两列。一行表头写 方框文字,连线到,下面一行一个步骤,填上标签和它通向的那一行的位置:一条四步的流程就是表头下面四行,第二列依次填 2、3、4 和一个空单元格。这样画出来就是一串带箭头的矩形。第三列最值得加的是形状,因为没有它每个方框都是矩形,一个提问画出来和一条指令一模一样;第四列是连线文字,因为一个出口没有标签的判断,只告诉读者这里发生了一次判断,却不说判完之后各往哪走。

连线到填的是行号还是编号?

是目标行在文件中的位置,从第一条数据行算作 1 开始数——也就是编辑器 # 列里打印出来的那个数字。它不是这份 CSV 所来自的系统里的记录号,也不是你自己想出来的步骤代码,哪怕你把那一列留在了文件里也一样。任何解析不出既有行位置的值都会被丢弃,而且完全没有报错,所以一份因为把表头行数成了第 1 行而整体差一位的文件,画出来就是一片没有箭头的方框,任何地方都不会说明原因。

带两条分支的判断怎么写?

把形状设为决策,把两个目标位置用半角逗号分隔填进连线到,再把两个标签按同样的顺序填进连线文字。“6,4”配上“是,否”,就是把“是”送到第 6 行、“否”送到第 4 行;只把其中一个列表颠倒过来,得到的是一张以最令人信服的方式出错的图,因为它看上去仍然完整。如果标签本身含有半角逗号,请把那个字段用双引号包住。完全由这个模式搭起来的一条分支流程在 /zh/templates/csv决策树 上。

形状这一列可以填哪些值?

开始、流程、决策、结束、成功、拒绝,这六个几乎覆盖了所有流程图,另外还有一些用于特定场合——文件、输入、输出、准备等等。单元格留空得到的是流程,编辑器不认识的取值得到的也是流程,而这正是要留神的地方:导入不会报错,所以一列用别的工具的词汇写成的形状会干干净净地导进来,然后把每个判断都画成矩形。第一次导入之后请核对一下菱形,而不是想当然。

图做好之后,这份 CSV 还留着吗?

留着,作为你导入了什么的记录,而不是作为你编辑的对象。导入之后图表就是正本:在编辑器里改那些行就是在改这张图,因为它们本来就是同一个对象;而并行维护那份文件,只会原封不动地重建你当初做转换正是为了摆脱的那种偏差。CSV 真正还能派上用场的地方是下一张图的开头——CSV 模板集里每种图表都配了一份文件,复制一份,比凭记忆敲出一行表头要快。

流程图指南中的更多内容