Ein Organigramm wird verwendet, um die Struktur eines Unternehmens, einer Regierung oder einer Organisation darzustellen. Sie können aus verschiedenen Gründen dissigned werden, z. B. zum Erstellen einer Richtlinie oder zu Planungszwecken. Sie können verschiedene Arten von Organigrammen erstellen, indem Sie verschiedene Formen und Verbindungen erstellen. In diesem Artikel wird beschrieben, wie Sie ein Organigramm in C# erstellen.
- Organigramm-Erstellungs-API – C#-Installation
- Organigramm im CompactTree-Stil in C# erstellen
- Organigramm im Flussdiagrammstil in C# erstellen
Organigramm-Ersteller – C#-API-Installation
Aspose.Diagram for .NET API kann verwendet werden, um verschiedene Visio-Diagramme und Diagramme zu erstellen. Sie können die API einfach konfigurieren, indem Sie ihre Referenzdatei von der Seite 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 Organigramm im CompactTree-Stil erstellen, indem Sie die folgenden Schritte ausführen:
- Laden Sie Master aus einem beliebigen vorhandenen Diagramm, einer Schablone oder einer Vorlage.
- Definieren Sie Werte, um die Hierarchie aufzubauen.
- Fügen Sie Formen und Verbindungen zwischen Knoten hinzu.
- Speichern Sie das Ausgabediagramm.
Das folgende Code-Snippet erklärt, wie man ein Organigramm 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 mit dem obigen Code-Snippet generierte Ausgabe-Organigramm:
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 in C# programmgesteuert ein Organigramm im Flussdiagrammstil erstellen:
- Laden Sie Master aus einem beliebigen vorhandenen Diagramm, einer Schablone oder einer Vorlage.
- Fügen Sie Organisationsknoten und Konnektoren hinzu.
- Legen Sie das Layout fest und speichern Sie das Ausgabediagramm.
Der folgende Beispielcode zeigt, wie Sie in C# ein Organigramm 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 Organigramme programmgesteuert in C# erstellen. Sie können ein Diagramm aus einer Schablone erstellen und basierend auf Ihren Anforderungen ein CompactTree- oder Flussdiagramm-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 das Forum an uns wenden.