13

我有某种描述依赖关系图的表格。有没有什么简单的方法可以将它转换成 MS Visio 图表?

就像 Excel 的 .CSV 格式...

如果 MS Visio 无法实现,那么是否有任何软件可以从图形依赖项列表中绘制图表?

谢谢你。

4

7 回答 7

7

graphviz非常适合这种事情。自从您询问 Visio 以来,我假设您使用的是 Windows,所以这里是它的 Windows 二进制文件

于 2010-01-04T15:14:05.677 回答
5

我编写了一个名为VisioPS的 PowerShell 模块,它可能会对您有所帮助(请参阅此处的下载部分:* VisioPS 模块是我在 CodePlex 上的 VisioAutomation 库的一部分)

安装 VisioPS 后,启动 PowerShell 实例并执行以下操作:

Import-Module VisioPS
New-VisioApplication
New-VisioDocument
$dg = Import-VisioDirectedGraph c:\foo.xml
Invoke-VisioDraw $dg

Direct Graph 是一个像这样的简单 XML 文档

<directedgraph>
  <page>
    <renderoptions
      usedynamicconnectors="true"
      scalingfactor="20"
    />
    <shapes>
      <shape id="n1" label="FOO1" stencil="server_u.vss" master="Server" url="http://microsoft.com" />
      <shape id="n2" label="FOO2" stencil="server_u.vss" master="Email Server" url="http://contoso.com"/>
      <shape id="n3" label="FOO3" stencil="server_u.vss" master="Proxy Server" url="\\isotope\public" />
      <shape id="n4" label="FOO4" stencil="server_u.vss" master="Web Server">
        <customprop name="prop1" value="value1"/>
        <customprop name="prop2" value="value2"/>

      </shape>
      <shape id="n5" label="FOO4" stencil="server_u.vss" master="Application Server" />
    </shapes>

    <connectors>
      <connector id="c1"  from="n1" to="n2" label="LABEL1" />
      <connector id="c2" from="n2" to="n3" label="LABEL2" color="#ff0000" weight="2" />
      <connector id="c3" from="n3" to="n4" label="LABEL1" color="#44ff00" />
      <connector id="c4" from="n4" to="n5" label="" color="#0000ff" weight="5"/>
      <connector id="c5" from="n4" to="n1" label="" />
      <connector id="c6" from="n4" to="n3" label="" weight="10"/>
    </connectors>

  </page>

</directedgraph>
  • VisioPS 使用 MSAGL 为节点执行布局
  • 您可以轻松获取依赖关系表并创建所需的 XML
  • 如果您仔细查看我的库中的代码,您还可以直接创建执行渲染所需的对象,而根本无需通过 XML。
于 2010-01-14T10:10:46.503 回答
5

如果您使用较新版本的 Visio (2003+),您应该使用数据库的逆向工程工具来启动您的图表。它将所有数据库表和关系吸进可以修改的形状。

这是一个链接,将引导您了解该功能: http: //office.microsoft.com/en-us/visio/HA101154851033.aspx

于 2010-01-04T15:21:44.093 回答
2

Visio 专业版将从电子表格或数据库中导入,但似乎无法让 Visio 自动在形状之间绘制连接线。

于 2013-01-31T20:22:28.217 回答
0

Omnigraffle 可以作为替代方案。在 Omnigraffle 中,您将无法导入 csv,但您将能够将项目作为列表插入并非常轻松地对它们进行排序,从而在元素之间创建依赖关系。然后,有一个名为“动态图”的函数可以自动对图表进行排序。(您可以修改图表的类型和连接器的长度)

于 2013-06-18T21:07:46.600 回答
0

不确定这是否有帮助,但 ARIS Express ( http://www.ariscommunity.com/aris-express ) 有一个称为智能设计的功能。您将数据作为电子表格输入,它会自动生成图表。适用于流程模型,也适用于数据模型或组织结构图。

于 2010-01-12T12:19:05.220 回答
0

Graphvis 是一个以点格式导入 .gv 文件的插件。它将绘制可以自定义的连接器和形状,并且有一些初始布局选项。

于 2013-05-09T22:11:33.180 回答