Organigramm C# erstellen

Ein ORG-Diagramm ist ein visuelles Diagramm, das die Hierarchie der Mitarbeiter in einer Organisation darstellt. Es enthält ihre Rollen, Verantwortlichkeiten, Positionen usw. und andere relevante Informationen. Sie können mit wenigen API-Aufrufen verschiedene Arten von Organigrammen erstellen, ohne Formen oder Verbindungen manuell zeichnen zu müssen. In diesem Artikel wird beschrieben, wie Sie ein ORG-Diagramm in C# erstellen.

ORG Chart Maker – C#-API-Installation

Aspose.Diagram for .NET API unterstützt die Arbeit mit verschiedenen Arten von Diagrammen und Diagrammen. Greifen Sie einfach auf die API zu, indem Sie die DLL-Datei aus dem Abschnitt New Releases herunterladen oder den folgenden NuGet-Installationsbefehl verwenden:

PM> Install-Package Aspose.Diagram

Organigramm im CompactTree-Stil in C# erstellen

Sie können ein ORG-Diagramm im CompactTree-Stil erstellen, indem Sie die folgenden Schritte ausführen:

  1. Laden Sie Master aus einem beliebigen vorhandenen Diagramm, einer Schablone oder einer Vorlage.
  2. Definieren Sie Werte, um die Hierarchie aufzubauen.
  3. Fügen Sie Formen und Verbindungen zwischen Knoten hinzu.
  4. Speichern Sie das Ausgabediagramm.

Das folgende Code-Snippet erklärt, wie man ein ORG-Diagramm in C# erstellt:

// Laden Sie Master aus einem beliebigen vorhandenen Diagramm, einer Schablone oder einer Vorlage
string visioStencil = "Basic Shapes.vss";
const string rectangleMaster = "Rectangle";
const string connectorMaster = "Dynamic connector";
const int pageNumber = 0;
const double width = 1;
const double height = 1;
double pinX = 4.25;
double pinY = 9.5;
// Definieren Sie Werte, um die Hierarchie aufzubauen
List<string> listPos = new List<string>(new string[] { "0", "0:0", "0:1", "0:2", "0:3", "0:4", "0:5", "0:6", "0:0:0", "0:0:1", "0:3:0", "0:3:1", "0:3:2", "0:6:0", "0:6:1" });
// Definieren Sie eine Hashtable, um den Zeichenfolgennamen der langen Shape-ID zuzuordnen
Hashtable shapeIdMap = new Hashtable();
// Erstellen Sie ein neues Diagramm
Diagram diagram = new Diagram(visioStencil);
diagram.Pages[pageNumber].PageSheet.PageProps.PageWidth.Value = 11;
foreach (string orgnode in listPos)
{
    // Fügen Sie eine neue rechteckige Form hinzu
    long rectangleId = diagram.AddShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // Legen Sie die Eigenschaften der neuen Form fest
    Shape shape = diagram.Pages[pageNumber].Shapes.GetShape(rectangleId);
    shape.Text.Value.Add(new Txt(orgnode));
    shape.Name = orgnode;
    shapeIdMap.Add(orgnode, rectangleId);
}
// Erstellen Sie Verbindungen zwischen Knoten
foreach (string orgName in listPos)
{
    int lastColon = orgName.LastIndexOf(':');
    if(lastColon > 0)
    {
        string parendName = orgName.Substring(0, lastColon);
        long shapeId = (long)shapeIdMap[orgName];
        long parentId = (long)shapeIdMap[parendName];
        Shape connector1 = new Shape();
        long connecter1Id = diagram.AddShape(connector1, connectorMaster, pageNumber);
        diagram.Pages[pageNumber].ConnectShapesViaConnector(parentId, ConnectionPointPlace.Right,
            shapeId, ConnectionPointPlace.Left, connecter1Id);
    }
}

//Auto-Layout CompactTree-Diagramm
LayoutOptions compactTreeOptions = new LayoutOptions
{
    LayoutStyle = LayoutStyle.CompactTree,
    Direction = LayoutDirection.DownThenRight,
    EnlargePage = false
};

diagram.Pages[pageNumber].Layout(compactTreeOptions);

// Diagramm speichern
diagram.Save("CompactTreeChart_out.vsdx", SaveFileFormat.VSDX);

Der folgende Screenshot zeigt das Ausgabe-ORG-Diagramm, das mit dem obigen Code-Snippet erstellt wurde:

Organigramm C# erstellen

Organigramm im Flussdiagrammstil in C# erstellen

Möglicherweise müssen Sie verschiedene Arten von Organigrammen erstellen, die unterschiedlichen Vorlagen folgen können. Hier erfahren Sie, wie Sie programmatisch in C# ein ORG-Diagramm im Flowchart-Stil erstellen:

  1. Laden Sie Master aus einem beliebigen vorhandenen Diagramm, einer Schablone oder einer Vorlage.
  2. Fügen Sie Organisationsknoten und Konnektoren hinzu.
  3. Legen Sie das Layout fest und speichern Sie das Ausgabediagramm.

Der folgende Beispielcode zeigt, wie Sie in C# ein ORG-Diagramm im Flussdiagrammstil erstellen:

// Laden Sie Master aus einem beliebigen vorhandenen Diagramm, einer Schablone oder einer Vorlage
string visioStencil = "Basic Shapes.vss";
const string rectangleMaster = "Rectangle";
const string connectorMaster = "Dynamic connector";
const int pageNumber = 0;
const double width = 1;
const double height = 1;
double pinX = 4.25;
double pinY = 9.5;
// Definieren Sie Werte, um die Hierarchie aufzubauen
List<string> listPos = new List<string>(new string[] { "0", "0:0", "0:1", "0:2", "0:3", "0:4", "0:5", "0:6", "0:0:0", "0:0:1", "0:3:0", "0:3:1", "0:3:2", "0:6:0", "0:6:1" });
// Definieren Sie eine Hashtable, um den Zeichenfolgennamen der langen Shape-ID zuzuordnen
Hashtable shapeIdMap = new Hashtable();
// Erstellen Sie ein neues Diagramm
Diagram diagram = new Diagram(visioStencil);
foreach (string orgnode in listPos)
{
    // Fügen Sie eine neue rechteckige Form hinzu
    long rectangleId = diagram.AddShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // Legen Sie die Eigenschaften der neuen Form fest
    Shape shape = diagram.Pages[pageNumber].Shapes.GetShape(rectangleId);
    shape.Text.Value.Add(new Txt(orgnode));
    shape.Name = orgnode;
    shapeIdMap.Add(orgnode, rectangleId);
}
// Erstellen Sie Verbindungen zwischen Knoten
foreach (string orgName in listPos)
{
    int lastColon = orgName.LastIndexOf(':');
    if(lastColon > 0)
    {
        string parendName = orgName.Substring(0, lastColon);
        long shapeId = (long)shapeIdMap[orgName];
        long parentId = (long)shapeIdMap[parendName];
        Shape connector1 = new Shape();
        long connecter1Id = diagram.AddShape(connector1, connectorMaster, pageNumber);
        diagram.Pages[pageNumber].ConnectShapesViaConnector(parentId, ConnectionPointPlace.Right,
            shapeId, ConnectionPointPlace.Left, connecter1Id);
    }
}

//automatisches Layout-Flussdiagramm
LayoutOptions flowChartOptions = new LayoutOptions
{
    LayoutStyle = LayoutStyle.FlowChart,
    Direction = LayoutDirection.TopToBottom,
    EnlargePage = true
};

diagram.Pages[pageNumber].Layout(flowChartOptions);

// Diagramm speichern
diagram.Save("FlowChart_out.vsdx", SaveFileFormat.VSDX);

Holen Sie sich eine kostenlose temporäre Lizenz

Sie können eine kostenlose temporäre Lizenz anfordern, um die API in vollem Umfang zu evaluieren.

Fazit

In diesem Artikel haben Sie verstanden, wie Sie ein ORG-Diagramm programmatisch in C# erstellen. Sie können ein Diagramm aus einer Schablone erstellen und basierend auf Ihren Anforderungen ein CompactTree- oder Flowchart-Stildiagramm erstellen. Darüber hinaus können Sie den Abschnitt Dokumentation besuchen, um einen Blick auf andere Funktionen zu werfen, die in verschiedenen Kapiteln und Abschnitten behandelt werden. Bei Fragen können Sie sich gerne über Forum an uns wenden.

Siehe auch

VSDM in C# in PDF konvertieren