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
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