Skip to content
| Marketplace
Sign in
Visual Studio>Controls>Aspose.Cells for C++
Aspose.Cells for C++

Aspose.Cells for C++

Aspose Marketplace

|
126 clicks
| (0) | Free Trial
Create, read, write and parse spreadsheets within native C++ applications without any Microsoft Excel dependency.
Get Started

C++ Library for Excel File Formats

Nuget Nuget

banner

Product Page | Docs | Demos | API Reference | Examples | Blog | Search | Free Support | Temporary License

Aspose.Cells for C++ is a native C++ library to create, manipulate, process, and convert Microsoft Excel® files without needing Microsoft Office® or Automation. The Excel C++ API supports Excel 97-2003 (XLS), Excel 2007-2013/2016 (XLSX, XLSM, XLSB), OpenOffice XML, and other formats such as CSV, TSV, and more.

It allows the developers to work with spreadsheet rows, columns, data, formulas, pivot tables, worksheets, tables, charts, and drawing objects from their own C++ applications.

Excel File Processing Features

  • Open a spreadsheet file without Microsoft Excel.
  • Open an Excel file via a path on the local computer or using a stream.
  • Convert worksheet to different image formats.
  • Apply conditional formatting as per your choice.
  • Manipulate pivot tables in your spreadsheets.
  • Convert table to range without losing formatting.
  • Fetch a cell's name by providing the row and column index, similarly, fetch row and column index of the cell from its name.
  • Create Pyramid chart, Line chart, Bubble chart, or a custom chart.
  • Render supported chart types to images or PDF.
  • Insert an OLE object into the worksheet.
  • Access all the OLE objects contained in the worksheet for extraction.

Supported Read & Write Formats

Microsoft Excel: XLS, XLSX, XLSB, SpreadsheetML
Text: CSV, TSV, TabDelimited
OpenDocument: ODS
Other: HTML, MHTML

Save Spreadsheet Documents As

Microsoft Excel: XLSM, XLTX, XLTM, XLAM
Portable Document Format: PDF, XPS
Text: CSV, TSV, TabDelimited
Images: SVG, TIFF, JPEG, PNG, BMP, GIF
Web: HTML, MHTML
Metafile: EMF
Other DIF

Get Started

Are you ready to give Aspose.Cells for C++ a try? Simply execute Install-Package Aspose.Cells.Cpp from Package Manager Console in Visual Studio to fetch the NuGet package. If you already have Aspose.Cells for C++ and want to upgrade the version, please execute Update-Package Aspose.Cells.Cpp to get the latest version.

Convert XLS to XLSX, XLSB & CSV using C++

Try executing the below snippet to see how API works in your environment or check the GitHub Repository for other common usage scenarios.

// load the file to be converted
intrusive_ptr<IWorkbook> book
    = Factory::CreateIWorkbook(dir->StringAppend(new String("template.xls")));
// save in different formats
book->Save(dir->StringAppend(new String("output.xlsx")), SaveFormat_Xlsx);
book->Save(dir->StringAppend(new String("output.xlsb")), SaveFormat_Xlsb);
book->Save(dir->StringAppend(new String("output.csv")), SaveFormat_CSV);

Create a Custom Excel Chart with C++

// create a new workbook
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// get first worksheet which is created by default
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// add sample data
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("A4"))->PutValue(110);
worksheet->GetICells()->GetObjectByIndex(new String("B1"))->PutValue(260);
worksheet->GetICells()->GetObjectByIndex(new String("B2"))->PutValue(12);
worksheet->GetICells()->GetObjectByIndex(new String("B3"))->PutValue(50);
worksheet->GetICells()->GetObjectByIndex(new String("B4"))->PutValue(100);

// add a chart to the worksheet
int chartIndex
    = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Column, 5, 0, 20, 8);

// access the instance of the newly added chart
intrusive_ptr<Aspose::Cells::Charts::IChart> chart
    = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// add SeriesCollection (chart data source) to the chart ranging from A1 to B4
chart->GetNISeries()->Add(new String("A1:B4"), true);

// set the chart type of 2nd NSeries to display as line chart
chart->GetNISeries()->GetObjectByIndex(1)->SetType(
    Aspose::Cells::Charts::ChartType::ChartType_Line);

// save the Excel file
workbook->Save(new String("output.xlsx")));

Product Page | Docs | Demos | API Reference | Examples | Blog | Search | Free Support | Temporary License

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft