แผนภูมิเป็นเครื่องมือที่ยอดเยี่ยมสำหรับการแสดงข้อมูลอย่างกระชับ นอกจากนี้ยังแสดงข้อมูลด้วยภาพ ทำให้ง่ายต่อการใช้ข้อมูลจำนวนมาก คุณอาจพบว่าแผนภูมิมีประโยชน์ในสถานการณ์ที่คุณต้องการแสดงข้อมูล เช่น การเปรียบเทียบงบประมาณรายเดือนหรืออัตราการใช้ผลิตภัณฑ์ ด้วยเหตุนี้ บทความนี้จะสอนวิธีสร้างแผนภูมิในไฟล์ Excel โดยใช้ C++
- C++ API สำหรับสร้างแผนภูมิ Excel
- สร้างแผนภูมิเส้นใน Excel โดยใช้ C++
- การสร้างแผนภูมิพีระมิดใน Excel โดยใช้ C++
- สร้าง Bubble Chart ใน 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
- ขั้นแรก สร้างอินสแตนซ์ของคลาส IWorkbook
- เรียกแผ่นงานที่คุณต้องการเพิ่มแผนภูมิโดยใช้เมธอด IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32)
- แทรกข้อมูลสำหรับแผนภูมิ
- เพิ่มแผนภูมิลงในเวิร์กชีตโดยใช้ IWorksheet->GetICharts()->เพิ่ม (Aspose::Cells::Charts::ChartType type, Aspose::Cells::Systems::Int32 upperLeftRow, Aspose::Cells::Systems ::Int32 upperLeftColumn, Aspose::Cells::Systems::Int32 lowerRightRow, Aspose::Cells::Systems::Int32 lowerRightColumn) วิธีการ
- เข้าถึงแผนภูมิด้วยดัชนีโดยใช้เมธอด IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32)
- เพิ่มแหล่งข้อมูลสำหรับแผนภูมิโดยใช้ IChart->GetNISeries()->เพิ่ม (intrusiveptrAspose::Cells::Systems::String พื้นที่ บูล isVertical) วิธีการ
- สุดท้าย ให้บันทึกไฟล์ Excel โดยใช้ IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String ชื่อไฟล์) วิธีการ
ต่อไปนี้คือโค้ดตัวอย่างในการสร้างแผนภูมิเส้นใน 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
- ขั้นแรก สร้างอินสแตนซ์ของคลาส IWorkbook
- เรียกแผ่นงานที่คุณต้องการเพิ่มแผนภูมิโดยใช้เมธอด IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32)
- แทรกข้อมูลสำหรับแผนภูมิ
- เพิ่มแผนภูมิลงในเวิร์กชีตโดยใช้ IWorksheet->GetICharts()->เพิ่ม (Aspose::Cells::Charts::ChartType type, Aspose::Cells::Systems::Int32 upperLeftRow, Aspose::Cells::Systems ::Int32 upperLeftColumn, Aspose::Cells::Systems::Int32 lowerRightRow, Aspose::Cells::Systems::Int32 lowerRightColumn) วิธีการ
- เข้าถึงแผนภูมิด้วยดัชนีโดยใช้เมธอด IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32)
- เพิ่มแหล่งข้อมูลสำหรับแผนภูมิโดยใช้ IChart->GetNISeries()->เพิ่ม (intrusiveptrAspose::Cells::Systems::String พื้นที่ บูล isVertical) วิธีการ
- สุดท้าย ให้บันทึกไฟล์ Excel โดยใช้ IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String ชื่อไฟล์) วิธีการ
ต่อไปนี้คือโค้ดตัวอย่างในการสร้างแผนภูมิปิรามิดใน 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
- ขั้นแรก สร้างอินสแตนซ์ของคลาส IWorkbook
- เรียกแผ่นงานที่คุณต้องการเพิ่มแผนภูมิโดยใช้เมธอด IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32)
- แทรกข้อมูลสำหรับแผนภูมิ
- เพิ่มแผนภูมิลงในเวิร์กชีตโดยใช้ IWorksheet->GetICharts()->เพิ่ม (Aspose::Cells::Charts::ChartType type, Aspose::Cells::Systems::Int32 upperLeftRow, Aspose::Cells::Systems ::Int32 upperLeftColumn, Aspose::Cells::Systems::Int32 lowerRightRow, Aspose::Cells::Systems::Int32 lowerRightColumn) วิธีการ
- เข้าถึงแผนภูมิด้วยดัชนีโดยใช้เมธอด IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32)
- เพิ่มแหล่งข้อมูล ขนาดฟอง ค่า X และค่า Y สำหรับแผนภูมิโดยใช้ IChart->GetNISeries()->เพิ่ม (intrusiveptrAspose::Cells::Systems::String พื้นที่ บูล isVertical), IChart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes (บุกรุกAspose::Cells::Systems::String ค่า), IChart->GetNISeries()->GetObjectByIndex(0)->SetXValues (บุกรุกAspose::Cells::Systems::String ค่า), IChart->GetNISeries()->GetObjectByIndex(0)->SetValues (บุกรุกAspose::Cells::Systems::String ค่า) วิธีตามลำดับ
- สุดท้าย ให้บันทึกไฟล์ Excel โดยใช้ IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String ชื่อไฟล์) วิธี
ต่อไปนี้คือโค้ดตัวอย่างสำหรับสร้างแผนภูมิฟองใน 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 โดยละเอียดได้โดยไปที่ เอกสารอย่างเป็นทางการ ในกรณีที่มีคำถามใดๆ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี