สร้างแผนผังองค์กร csharp.png C#

แผนผังองค์กร ใช้เพื่ออธิบายโครงสร้างของธุรกิจ รัฐบาล หรือองค์กร พวกเขาอาจถูกปฏิเสธด้วยเหตุผลต่างๆ เช่น การกำหนดนโยบายหรือวัตถุประสงค์ในการวางแผน คุณสามารถสร้างแผนผังองค์กรประเภทต่างๆ ได้โดยสร้างรูปร่างและตัวเชื่อมต่อต่างๆ บทความนี้กล่าวถึงวิธีการสร้างแผนผังองค์กรใน C#

เครื่องสร้างแผนผังองค์กร – การติดตั้ง C# API

Aspose.Diagram for .NET สามารถใช้ API เพื่อสร้างไดอะแกรมและแผนภูมิ Visio ต่างๆ คุณสามารถกำหนดค่า API ได้ง่ายๆ โดยดาวน์โหลดไฟล์อ้างอิงจากหน้า New Releases หรือใช้คำสั่งติดตั้ง NuGet ต่อไปนี้:

PM> Install-Package Aspose.Diagram

สร้างแผนผังองค์กรในรูปแบบ CompactTree ใน C#

คุณสามารถสร้างแผนผังองค์กรในรูปแบบ CompactTree โดยทำตามขั้นตอนด้านล่าง:

  1. โหลดต้นแบบจากไดอะแกรม stencil หรือเทมเพลตที่มีอยู่
  2. กำหนดค่าเพื่อสร้างลำดับชั้น
  3. เพิ่มรูปร่างและการเชื่อมต่อระหว่างโหนด
  4. บันทึกไดอะแกรมเอาต์พุต

ข้อมูลโค้ดด้านล่างอธิบายวิธีสร้างแผนผังองค์กรใน C#:

// โหลดต้นแบบจากไดอะแกรม stencil หรือเทมเพลตที่มีอยู่
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;
// กำหนดค่าเพื่อสร้างลำดับชั้น
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" });
// กำหนด Hashtable เพื่อแมปชื่อสตริงกับรหัสรูปร่างยาว
Hashtable shapeIdMap = new Hashtable();
// สร้างไดอะแกรมใหม่
Diagram diagram = new Diagram(visioStencil);
diagram.Pages[pageNumber].PageSheet.PageProps.PageWidth.Value = 11;
foreach (string orgnode in listPos)
{
    // เพิ่มรูปสี่เหลี่ยมผืนผ้าใหม่
    long rectangleId = diagram.AddShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // ตั้งค่าคุณสมบัติของรูปร่างใหม่
    Shape shape = diagram.Pages[pageNumber].Shapes.GetShape(rectangleId);
    shape.Text.Value.Add(new Txt(orgnode));
    shape.Name = orgnode;
    shapeIdMap.Add(orgnode, rectangleId);
}
// สร้างการเชื่อมต่อระหว่างโหนด
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);
    }
}

//แผนภูมิ CompactTree เค้าโครงอัตโนมัติ
LayoutOptions compactTreeOptions = new LayoutOptions
{
    LayoutStyle = LayoutStyle.CompactTree,
    Direction = LayoutDirection.DownThenRight,
    EnlargePage = false
};

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

// บันทึกไดอะแกรม
diagram.Save("CompactTreeChart_out.vsdx", SaveFileFormat.VSDX);

ภาพหน้าจอต่อไปนี้แสดงแผนผังองค์กรเอาต์พุตที่สร้างด้วยข้อมูลโค้ดด้านบน:

สร้างแผนผังองค์กร C#

สร้างแผนผังองค์กรในรูปแบบ Flowchart ใน C#

คุณอาจต้องสร้างแผนผังองค์กรประเภทต่างๆ ซึ่งอาจเป็นไปตามเทมเพลตต่างๆ ที่นี่คุณจะได้เรียนรู้วิธีสร้างแผนผังองค์กรในรูปแบบ Flowchart โดยทางโปรแกรมใน C#:

  1. โหลดต้นแบบจากไดอะแกรม stencil หรือเทมเพลตที่มีอยู่
  2. เพิ่มโหนดองค์กรและตัวเชื่อมต่อ
  3. กำหนดเค้าโครงและบันทึกไดอะแกรมผลลัพธ์

โค้ดตัวอย่างต่อไปนี้แสดงวิธีการสร้างแผนผังองค์กรในรูปแบบผังงานใน C#:

// โหลดต้นแบบจากไดอะแกรม stencil หรือเทมเพลตที่มีอยู่
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;
// กำหนดค่าเพื่อสร้างลำดับชั้น
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" });
// กำหนด Hashtable เพื่อแมปชื่อสตริงกับรหัสรูปร่างยาว
Hashtable shapeIdMap = new Hashtable();
// สร้างไดอะแกรมใหม่
Diagram diagram = new Diagram(visioStencil);
foreach (string orgnode in listPos)
{
    // เพิ่มรูปสี่เหลี่ยมผืนผ้าใหม่
    long rectangleId = diagram.AddShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // ตั้งค่าคุณสมบัติของรูปร่างใหม่
    Shape shape = diagram.Pages[pageNumber].Shapes.GetShape(rectangleId);
    shape.Text.Value.Add(new Txt(orgnode));
    shape.Name = orgnode;
    shapeIdMap.Add(orgnode, rectangleId);
}
// สร้างการเชื่อมต่อระหว่างโหนด
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);
    }
}

//FlowChart เค้าโครงอัตโนมัติ
LayoutOptions flowChartOptions = new LayoutOptions
{
    LayoutStyle = LayoutStyle.FlowChart,
    Direction = LayoutDirection.TopToBottom,
    EnlargePage = true
};

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

// บันทึกไดอะแกรม
diagram.Save("FlowChart_out.vsdx", SaveFileFormat.VSDX);

รับใบอนุญาตชั่วคราวฟรี

คุณสามารถขอ ใบอนุญาตชั่วคราวฟรี เพื่อประเมิน API ได้อย่างเต็มประสิทธิภาพ

บทสรุป

ในบทความนี้ คุณได้เข้าใจวิธีสร้างแผนผังองค์กรโดยทางโปรแกรมใน C# คุณสามารถสร้างไดอะแกรมจาก stencil และสร้างแผนภูมิลักษณะ CompactTree หรือ Flowchart ตามความต้องการของคุณ นอกจากนี้ คุณสามารถไปที่ส่วน documentation เพื่อดูคุณสมบัติอื่นๆ ที่ครอบคลุมในบทและส่วนต่างๆ ในกรณีที่มีข้อสงสัย โปรดติดต่อเราผ่านทาง ฟอรัม

ดูสิ่งนี้ด้วย

แปลง VSDM เป็น PDF ใน C#