Vytvořte Excel Charts C++

Grafy jsou vynikajícím nástrojem pro stručné zobrazení dat. Navíc reprezentují data vizuálně, což usnadňuje spotřebu velkého množství dat. Grafy mohou být užitečné v situacích, kdy potřebujete zobrazit data, jako je srovnání měsíčního rozpočtu nebo míra přijetí produktu. Ve světle toho vás tento článek naučí, jak vytvářet grafy v souborech aplikace Excel pomocí C++.

C++ API pro vytváření grafů Excel

Aspose.Cells for C++ je nativní knihovna C++, která umožňuje vytvářet, číst a upravovat soubory aplikace Excel bez nutnosti instalace aplikace Microsoft Excel. Rozhraní API také podporuje vytváření grafů v souborech aplikace Excel. Rozhraní API můžete nainstalovat buď prostřednictvím NuGet, nebo si jej stáhnout přímo ze sekce Downloads.

PM> Install-Package Aspose.Cells.Cpp

Vytvořte spojnicový graf v Excelu pomocí C++

Chcete-li vytvořit spojnicový graf, použijte při přidávání grafu hodnotu výčtu ChartTypeLine. Následují kroky k vytvoření spojnicového grafu v souboru aplikace Excel.

Následuje ukázkový kód pro vytvoření spojnicového grafu v Excelu pomocí C++.

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Cesta výstupního excelového souboru
StringPtr outputChartTypeLine = outDir->StringAppend(new String("outputChartTypeLine.xlsx"));

// Vytvořte nový sešit
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Získejte první pracovní list, který je vytvořen ve výchozím nastavení
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Přidání vzorových hodnot do buněk
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);

// Přidání grafu do listu
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Line, 5, 0, 20, 8);

// Přístup k instanci nově přidaného grafu
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Přidání SeriesCollection (zdroj dat grafu) do grafu v rozsahu od buňky "A1" po "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);

// Uložení souboru Excel
workbook->Save(outputChartTypeLine);
Spojnicový graf

Spojnicový graf generovaný ukázkovým kódem

Vytvoření pyramidového grafu v Excelu pomocí C++

Pro vytvoření pyramidového grafu použijte hodnotu výčtu ChartTypePyramid k určení typu grafu při přidávání grafu. Níže jsou uvedeny kroky k vytvoření pyramidového grafu v souboru aplikace Excel.

Následuje ukázkový kód pro vytvoření pyramidového grafu v Excelu pomocí C++.

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Cesta výstupního excelového souboru
StringPtr outputChartTypePyramid = outDir->StringAppend(new String("outputChartTypePyramid.xlsx"));

// Vytvořte nový sešit
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Získejte první pracovní list, který je vytvořen ve výchozím nastavení
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Přidání vzorových hodnot do buněk
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);

// Přidání grafu do listu
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Pyramid, 5, 0, 20, 8);

// Přístup k instanci nově přidaného grafu
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Přidání SeriesCollection (zdroj dat grafu) do grafu v rozsahu od buňky "A1" po "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);

// Uložení souboru Excel
workbook->Save(outputChartTypePyramid);
Pyramidový graf

Pyramidový graf vygenerovaný ukázkovým kódem

Vytvořte bublinový graf v Excelu pomocí C++

Chcete-li vytvořit bublinový graf, předejte hodnotu výčtu ChartTypeBubble do metody IWorksheet->GetICharts()->Add(). Níže jsou uvedeny kroky k vytvoření bublinového grafu v souboru aplikace Excel.

Následuje ukázkový kód pro vytvoření bublinového grafu v Excelu pomocí C++.

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Cesta výstupního excelového souboru
StringPtr outputChartTypeBubble = outDir->StringAppend(new String("outputChartTypeBubble.xlsx"));

// Vytvořte nový sešit
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Získejte první pracovní list, který je vytvořen ve výchozím nastavení
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Vyplňte data pro řadu grafu
// Hodnoty Y
worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("Hodnoty Y"));
worksheet->GetICells()->GetObjectByIndex(0, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(0, 2)->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(0, 3)->PutValue(6);
// Velikost bubliny
worksheet->GetICells()->GetObjectByIndex(1, 0)->PutValue((StringPtr)new String("Velikost bubliny"));
worksheet->GetICells()->GetObjectByIndex(1, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(1, 2)->PutValue(3);
worksheet->GetICells()->GetObjectByIndex(1, 3)->PutValue(1);
// Hodnoty X
worksheet->GetICells()->GetObjectByIndex(2, 0)->PutValue((StringPtr)new String("Hodnoty X"));
worksheet->GetICells()->GetObjectByIndex(2, 1)->PutValue(1);
worksheet->GetICells()->GetObjectByIndex(2, 2)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(2, 3)->PutValue(3);

// Nastavte šířku prvního sloupce
worksheet->GetICells()->SetColumnWidth(0, 12);

// Přidání grafu do listu
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Bubble, 5, 0, 20, 8);

// Přístup k instanci nově přidaného grafu
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Přidání SeriesCollection (zdroj dat grafu) do grafu v rozsahu od B1 do D1
chart->GetNISeries()->Add(new String("B1:D1"), true);

// Nastavte velikosti bublin
chart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes(new String("B2:D2"));

// Nastavte hodnoty osy X
chart->GetNISeries()->GetObjectByIndex(0)->SetXValues(new String("B3:D3"));

// Nastavte hodnoty osy Y
chart->GetNISeries()->GetObjectByIndex(0)->SetValues(new String("B1:D1"));

// Uložení souboru Excel
workbook->Save(outputChartTypeBubble);
Bublinový graf

Bublinový graf generovaný ukázkovým kódem

Další podporované grafy

Kromě výše uvedených grafů podporuje Aspose.Cells for C++ mnoho dalších typů grafů. Úplný seznam podporovaných grafů můžete zobrazit zobrazením hodnot výčtu ChartType.

Získejte bezplatnou licenci

Rozhraní API můžete vyzkoušet bez omezení hodnocení tím, že požádáte o bezplatnou dočasnou licenci.

Závěr

V tomto článku jste se naučili vytvářet grafy v excelových tabulkách pomocí C++. Konkrétně jste viděli, jak vytvořit čárové, pyramidové a bublinové grafy pomocí Aspose.Cells for C++ API. Kromě toho jste viděli, že API podporuje velké množství dalších grafů, které můžete vytvořit ve svých souborech Excel. Kromě grafů poskytuje API mnoho dalších funkcí pro práci se soubory aplikace Excel. Rozhraní API můžete podrobně prozkoumat na oficiální dokumentaci. V případě jakýchkoli dotazů nás neváhejte kontaktovat na našem bezplatném fóru podpory.

Viz také