翻譯|使用教程|編輯:李顯亮|2021-04-20 10:34:28.280|閱讀 253 次
概述:在需要顯示數(shù)據(jù)的情況下,圖表可能會(huì)有所幫助。有鑒于此,本文將介紹如何使用C ++在Excel文件中創(chuàng)建圖表。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
圖表是簡潔顯示數(shù)據(jù)的絕佳工具。此外,它們以可視方式表示數(shù)據(jù),從而更易于使用大量數(shù)據(jù)。在需要顯示數(shù)據(jù)(例如每月預(yù)算比較或產(chǎn)品采用率)的情況下,圖表可能會(huì)有所幫助。有鑒于此,本文將教您如何使用C ++在Excel文件中創(chuàng)建圖表。
Aspose.Cells for C++是本機(jī)C ++庫,使用它可以創(chuàng)建,讀取和修改Excel文件,而無需安裝Microsoft Excel。該API還支持在Excel文件中創(chuàng)建圖表。
若要?jiǎng)?chuàng)建折線圖,請?jiān)谔砑訄D表時(shí)使用ChartType_Line枚舉值。以下是在Excel文件中創(chuàng)建折線圖的步驟。
以下是使用C ++在Excel中創(chuàng)建折線圖的示例代碼。
// Output directory path. StringPtr outDir = new String("OutputDirectory\\"); // Path of output excel file StringPtr outputChartTypeLine = outDir->StringAppend(new String("outputChartTypeLine.xlsx")); // Create a new workbook intrusive_ptrworkbook = Factory::CreateIWorkbook(); // Get first worksheet which is created by default intrusive_ptrworksheet = workbook->GetIWorksheets()->GetObjectByIndex(0); // Adding sample values to cells 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); // Adding a chart to the worksheet int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Line, 5, 0, 20, 8); // Accessing the instance of the newly added chart intrusive_ptrchart = worksheet->GetICharts()->GetObjectByIndex(chartIndex); // Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" chart->GetNISeries()->Add(new String("A1:B3"), true); // Saving the Excel file workbook->Save(outputChartTypeLine);
若要?jiǎng)?chuàng)建金字塔形圖,請?jiān)谔砑咏y(tǒng)計(jì)圖時(shí)使用ChartType_Pyramid枚舉值指定統(tǒng)計(jì)圖類型。以下是在Excel文件中創(chuàng)建金字塔圖的步驟。
以下是使用C ++在Excel中創(chuàng)建金字塔圖的示例代碼。
// Output directory path. StringPtr outDir = new String("OutputDirectory\\"); // Path of output excel file StringPtr outputChartTypePyramid = outDir->StringAppend(new String("outputChartTypePyramid.xlsx")); // Create a new workbook intrusive_ptrworkbook = Factory::CreateIWorkbook(); // Get first worksheet which is created by default intrusive_ptrworksheet = workbook->GetIWorksheets()->GetObjectByIndex(0); // Adding sample values to cells 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); // Adding a chart to the worksheet int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Pyramid, 5, 0, 20, 8); // Accessing the instance of the newly added chart intrusive_ptrchart = worksheet->GetICharts()->GetObjectByIndex(chartIndex); // Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" chart->GetNISeries()->Add(new String("A1:B3"), true); // Saving the Excel file workbook->Save(outputChartTypePyramid);
為了創(chuàng)建一個(gè)氣泡圖,該傳ChartType_Bubble枚舉值到IWorksheet-> GetICharts() - >添加()方法。以下是在Excel文件中創(chuàng)建氣泡圖的步驟。
以下是使用C ++在Excel中創(chuàng)建氣泡圖的示例代碼。
// Output directory path. StringPtr outDir = new String("OutputDirectory\\"); // Path of output excel file StringPtr outputChartTypeBubble = outDir->StringAppend(new String("outputChartTypeBubble.xlsx")); // Create a new workbook intrusive_ptrworkbook = Factory::CreateIWorkbook(); // Get first worksheet which is created by default intrusive_ptrworksheet = workbook->GetIWorksheets()->GetObjectByIndex(0); // Fill in data for chart's series // Y Values worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("Y Values")); worksheet->GetICells()->GetObjectByIndex(0, 1)->PutValue(2); worksheet->GetICells()->GetObjectByIndex(0, 2)->PutValue(4); worksheet->GetICells()->GetObjectByIndex(0, 3)->PutValue(6); // Bubble Size worksheet->GetICells()->GetObjectByIndex(1, 0)->PutValue((StringPtr)new String("Bubble Size")); worksheet->GetICells()->GetObjectByIndex(1, 1)->PutValue(2); worksheet->GetICells()->GetObjectByIndex(1, 2)->PutValue(3); worksheet->GetICells()->GetObjectByIndex(1, 3)->PutValue(1); // X Values worksheet->GetICells()->GetObjectByIndex(2, 0)->PutValue((StringPtr)new String("X Values")); worksheet->GetICells()->GetObjectByIndex(2, 1)->PutValue(1); worksheet->GetICells()->GetObjectByIndex(2, 2)->PutValue(2); worksheet->GetICells()->GetObjectByIndex(2, 3)->PutValue(3); // Set first column width worksheet->GetICells()->SetColumnWidth(0, 12); // Adding a chart to the worksheet int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Bubble, 5, 0, 20, 8); // Accessing the instance of the newly added chart intrusive_ptrchart = worksheet->GetICharts()->GetObjectByIndex(chartIndex); // Adding SeriesCollection (chart data source) to the chart ranging from B1 to D1 chart->GetNISeries()->Add(new String("B1:D1"), true); // Set bubble sizes chart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes(new String("B2:D2")); // Set X axis values chart->GetNISeries()->GetObjectByIndex(0)->SetXValues(new String("B3:D3")); // Set Y axis values chart->GetNISeries()->GetObjectByIndex(0)->SetValues(new String("B1:D1")); // Saving the Excel file workbook->Save(outputChartTypeBubble);
如果你想試用Aspose的全部完整功能,可聯(lián)系在線客服獲取30天臨時(shí)授權(quán)體驗(yàn)。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn