สร้างแผนภูมิ Excel C++

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

C++ API สำหรับสร้างแผนภูมิ Excel

Aspose.Cells for C++ เป็นไลบรารี C++ ดั้งเดิมที่ให้คุณสร้าง อ่าน และแก้ไขไฟล์ Excel โดยไม่ต้องติดตั้ง Microsoft Excel API ยังรองรับการสร้างแผนภูมิในไฟล์ Excel คุณสามารถติดตั้ง API ผ่าน NuGet หรือดาวน์โหลดโดยตรงจากส่วน ดาวน์โหลด

PM> Install-Package Aspose.Cells.Cpp

สร้างแผนภูมิเส้นใน Excel โดยใช้ C++

หากต้องการสร้างแผนภูมิเส้น ให้ใช้ค่า enum ChartTypeLine ขณะเพิ่มแผนภูมิ ต่อไปนี้เป็นขั้นตอนในการสร้างแผนภูมิเส้นในไฟล์ Excel

ต่อไปนี้คือโค้ดตัวอย่างในการสร้างแผนภูมิเส้นใน Excel โดยใช้ C++

// เส้นทางไดเร็กทอรีเอาต์พุต
StringPtr outDir = new String("OutputDirectory\\");

// เส้นทางของไฟล์ excel เอาต์พุต
StringPtr outputChartTypeLine = outDir->StringAppend(new String("outputChartTypeLine.xlsx"));

// สร้างสมุดงานใหม่
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// รับแผ่นงานแรกที่สร้างโดยค่าเริ่มต้น
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// การเพิ่มค่าตัวอย่างให้กับเซลล์
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(50);
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(100);
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(150);
worksheet->GetICells()->GetObjectByIndex(new String("B1"))->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(new String("B2"))->PutValue(20);
worksheet->GetICells()->GetObjectByIndex(new String("B3"))->PutValue(50);

// การเพิ่มแผนภูมิลงในแผ่นงาน
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Line, 5, 0, 20, 8);

// การเข้าถึงอินสแตนซ์ของแผนภูมิที่เพิ่มเข้ามาใหม่
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// การเพิ่ม SeriesCollection (แหล่งข้อมูลแผนภูมิ) ลงในแผนภูมิตั้งแต่เซลล์ "A1" ถึง "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);

// การบันทึกไฟล์ Excel
workbook->Save(outputChartTypeLine);
แผนภูมิเส้น

แผนภูมิเส้นที่สร้างโดยโค้ดตัวอย่าง

การสร้างแผนภูมิพีระมิดใน Excel โดยใช้ C++

สำหรับการสร้างแผนภูมิปิรามิด ให้ใช้ค่า enum ChartTypePyramid เพื่อระบุประเภทแผนภูมิในขณะที่เพิ่มแผนภูมิ ต่อไปนี้เป็นขั้นตอนในการสร้างแผนภูมิปิรามิดในไฟล์ Excel

ต่อไปนี้คือโค้ดตัวอย่างในการสร้างแผนภูมิปิรามิดใน Excel โดยใช้ C++

// เส้นทางไดเร็กทอรีเอาต์พุต
StringPtr outDir = new String("OutputDirectory\\");

// เส้นทางของไฟล์ excel เอาต์พุต
StringPtr outputChartTypePyramid = outDir->StringAppend(new String("outputChartTypePyramid.xlsx"));

// สร้างสมุดงานใหม่
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// รับแผ่นงานแรกที่สร้างโดยค่าเริ่มต้น
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// การเพิ่มค่าตัวอย่างให้กับเซลล์
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(50);
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(100);
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(150);
worksheet->GetICells()->GetObjectByIndex(new String("B1"))->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(new String("B2"))->PutValue(20);
worksheet->GetICells()->GetObjectByIndex(new String("B3"))->PutValue(50);

// การเพิ่มแผนภูมิลงในแผ่นงาน
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Pyramid, 5, 0, 20, 8);

// การเข้าถึงอินสแตนซ์ของแผนภูมิที่เพิ่มเข้ามาใหม่
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// การเพิ่ม SeriesCollection (แหล่งข้อมูลแผนภูมิ) ลงในแผนภูมิตั้งแต่เซลล์ "A1" ถึง "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);

// การบันทึกไฟล์ Excel
workbook->Save(outputChartTypePyramid);
แผนภูมิพีระมิด

แผนภูมิพีระมิดที่สร้างโดยโค้ดตัวอย่าง

สร้าง Bubble Chart ใน Excel โดยใช้ C++

ในการสร้างแผนภูมิฟอง ให้ส่งค่า enum ChartTypeBubble ไปยังเมธอด IWorksheet->GetICharts()->Add() ต่อไปนี้เป็นขั้นตอนในการสร้างแผนภูมิฟองในไฟล์ Excel

ต่อไปนี้คือโค้ดตัวอย่างสำหรับสร้างแผนภูมิฟองใน Excel โดยใช้ C++

// เส้นทางไดเร็กทอรีเอาต์พุต
StringPtr outDir = new String("OutputDirectory\\");

// เส้นทางของไฟล์ excel เอาต์พุต
StringPtr outputChartTypeBubble = outDir->StringAppend(new String("outputChartTypeBubble.xlsx"));

// สร้างสมุดงานใหม่
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// รับแผ่นงานแรกที่สร้างโดยค่าเริ่มต้น
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// กรอกข้อมูลสำหรับชุดของแผนภูมิ
// ค่า Y
worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("ค่า Y"));
worksheet->GetICells()->GetObjectByIndex(0, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(0, 2)->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(0, 3)->PutValue(6);
// ขนาดฟอง
worksheet->GetICells()->GetObjectByIndex(1, 0)->PutValue((StringPtr)new String("ขนาดฟอง"));
worksheet->GetICells()->GetObjectByIndex(1, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(1, 2)->PutValue(3);
worksheet->GetICells()->GetObjectByIndex(1, 3)->PutValue(1);
// ค่า X
worksheet->GetICells()->GetObjectByIndex(2, 0)->PutValue((StringPtr)new String("ค่า X"));
worksheet->GetICells()->GetObjectByIndex(2, 1)->PutValue(1);
worksheet->GetICells()->GetObjectByIndex(2, 2)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(2, 3)->PutValue(3);

// กำหนดความกว้างของคอลัมน์แรก
worksheet->GetICells()->SetColumnWidth(0, 12);

// การเพิ่มแผนภูมิลงในแผ่นงาน
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Bubble, 5, 0, 20, 8);

// การเข้าถึงอินสแตนซ์ของแผนภูมิที่เพิ่มเข้ามาใหม่
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// การเพิ่ม SeriesCollection (แหล่งข้อมูลแผนภูมิ) ลงในแผนภูมิตั้งแต่ B1 ถึง D1
chart->GetNISeries()->Add(new String("B1:D1"), true);

// กำหนดขนาดฟอง
chart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes(new String("B2:D2"));

// ตั้งค่าแกน X
chart->GetNISeries()->GetObjectByIndex(0)->SetXValues(new String("B3:D3"));

// ตั้งค่าแกน Y
chart->GetNISeries()->GetObjectByIndex(0)->SetValues(new String("B1:D1"));

// การบันทึกไฟล์ Excel
workbook->Save(outputChartTypeBubble);
แผนภูมิฟอง

แผนภูมิฟองสร้างโดยโค้ดตัวอย่าง

แผนภูมิที่รองรับเพิ่มเติม

นอกเหนือจากแผนภูมิที่แสดงด้านบน Aspose.Cells for C++ ยังรองรับประเภทแผนภูมิเพิ่มเติมอีกมากมาย คุณสามารถดูรายการแผนภูมิที่รองรับทั้งหมดได้โดยดูค่า enum ChartType

รับใบอนุญาตฟรี

คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีสร้างแผนภูมิในสเปรดชีต Excel โดยใช้ C++ โดยเฉพาะอย่างยิ่ง คุณได้เห็นวิธีสร้างแผนภูมิเส้น พีระมิด และฟองโดยใช้ Aspose.Cells for C++ API นอกจากนี้ คุณได้เห็นว่า API รองรับแผนภูมิอื่นๆ จำนวนมากที่คุณสามารถสร้างได้ในไฟล์ Excel ของคุณ นอกจากแผนภูมิแล้ว API ยังมีคุณสมบัติเพิ่มเติมมากมายสำหรับการทำงานกับไฟล์ Excel คุณสามารถสำรวจ API โดยละเอียดได้โดยไปที่ เอกสารอย่างเป็นทางการ ในกรณีที่มีคำถามใดๆ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี

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