Excel 2016のチャートの読み込みと操作

可能な使用シナリオ

Aspose.Cellsは、Microsoft Excel 2013以前のバージョンには存在しないMicrosoft Excel 2016のチャートの読み込みと操作をサポートしています。

Excel 2016のチャートの読み込みと操作

次のサンプルコードは、最初のワークシートにExcel 2016のチャートが含まれるサンプルExcelファイルをロードします。すべてのチャートを1つずつ読み込み、そのタイトルをチャートタイプに応じて変更します。次のスクリーンショットは、コードを実行する前のサンプルExcelファイルを示しています。すべてのチャートのタイトルが同じであることがわかります。

todo:image_alt_text

次のスクリーンショットは、コードを実行した後の出力Excelファイルを示しています。チャートのタイトルがそれぞれのチャートタイプに応じて変更されていることがわかります。

todo:image_alt_text

サンプルコード

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
Aspose::Cells::Startup();
//Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
//Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
//Path of input excel file
U16String sampleReadAndManipulateExcel2016Charts = srcDir + u"sampleReadAndManipulateExcel2016Charts.xlsx";
//Path of output excel file
U16String outputReadAndManipulateExcel2016Charts = outDir + u"outputReadAndManipulateExcel2016Charts.xlsx";
// Load sample Excel file containing Excel 2016 charts
Workbook workbook(sampleReadAndManipulateExcel2016Charts);
// Access the first worksheet which contains the charts
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Access all charts one by one and read their types
for (int i = 0; i < worksheet.GetCharts().GetCount(); i++)
{
// Access the chart
Chart ch = worksheet.GetCharts().Get(i);
//Get the chart type
ChartType chartType = ch.GetType();
//Convert chart type enum to string
U16String strChartType = u"";
switch (chartType)
{
case Aspose::Cells::Charts::ChartType::BoxWhisker:
strChartType = u"BoxWhisker";
break;
case Aspose::Cells::Charts::ChartType::Histogram:
strChartType = u"Histogram";
break;
case Aspose::Cells::Charts::ChartType::Sunburst:
strChartType = u"Sunburst";
break;
case Aspose::Cells::Charts::ChartType::Treemap:
strChartType = u"Treemap";
break;
case Aspose::Cells::Charts::ChartType::Waterfall:
strChartType = u"Waterfall";
break;
default:
break;
}
// Print chart type
std::cout << strChartType.ToUtf8() << std::endl;
// Change the title of the charts as per their types
U16String strTitle = u"Chart Type is " + strChartType;
ch.GetTitle().SetText(strTitle);
}
// Save the workbook
workbook.Save(outputReadAndManipulateExcel2016Charts);
Aspose::Cells::Cleanup();

コンソール出力

提供されたサンプルのExcelファイルを使用して上記のサンプルコードを実行した場合のコンソール出力は次のとおりです。

 Waterfall

Treemap

Sunburst

Histogram

BoxWhisker