如何自动生成MS Visio图?

时间:2010-01-04 15:11:05

标签: visio

我有一种描述依赖关系图的表。有没有简单的方法将其转换为MS Visio图表?

像Excel的.CSV格式......

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

谢谢。

7 个答案:

答案 0 :(得分:7)

graphviz非常适合这类事情。我假设您在使用Visio时就在Windows上,所以这里有 the Windows binaries

答案 1 :(得分:5)

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

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

答案 2 :(得分:5)

我编写了一个名为 VisioPS 的PowerShell模块,可以为您提供帮助(请参阅此处的下载部分: * VisioPS模块是我的VisioAutomation library on CodePlex

的一部分

安装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。

答案 3 :(得分:1)

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

答案 6 :(得分:0)

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