Aspose.Cells.Cpp 24.10.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Aspose.Cells.Cpp --version 24.10.0                
NuGet\Install-Package Aspose.Cells.Cpp -Version 24.10.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Aspose.Cells.Cpp" Version="24.10.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Aspose.Cells.Cpp --version 24.10.0                
#r "nuget: Aspose.Cells.Cpp, 24.10.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Aspose.Cells.Cpp as a Cake Addin
#addin nuget:?package=Aspose.Cells.Cpp&version=24.10.0

// Install Aspose.Cells.Cpp as a Cake Tool
#tool nuget:?package=Aspose.Cells.Cpp&version=24.10.0                

Spreadsheet Conversion & Manipulation C++ Library

Version 24.9.0 NuGet C++

banner


Product Page Docs Reference Examples Blog Releases Support License


Aspose.Cells for C++ is a high-performance native C++ library designed to handle Microsoft Excel® files programmatically. It supports a wide range of Excel® file formats, including XLS, XLSX, XLSM, and XLSB, as well as other formats such as CSV, TSV, and OpenOffice XML. With powerful features like direct cell manipulation, dynamic data handling, interactive hyperlinking, conditional formatting, customizable themes, chart creation, and file format conversions (Excel® to PDF, images, etc.), Aspose.Cells for C++ allows developers to build robust Excel® automation solutions without needing Microsoft Office or any other external software. Whether working on Windows®, Linux, or macOS, this library simplifies Excel® file processing with a rich API for formatting, formulas, data analysis, and more.


Aspose.Cells for C++ 24.10 Release Notes

Overview

Aspose.Cells for C++ 24.10 introduces new features, enhancements, bug fixes, and API changes that enhance the functionality, performance, and flexibility of handling Excel files. Below is a summary of the key improvements:

New Features

Delete Covered Rows/Columns

Support for deleting blank rows and columns between user-specified ranges, while considering shapes and other drawing objects.

Pivot Table Sources

Added support to retrieve the source of pivot tables from external connections, including DataModelConnection.

Compact Pivot Tables

Added the ability to create compact pivot tables easily.

Enhancements

Improved Handling for Formulas

Enhanced handling of automatic calculation to prevent hangs while writing to specific ranges.

Enhanced OleObject Parsing

Improvements made to OleObject parsing to prevent invalid cell name exceptions.

Date Formatting & Conversion

Enhanced date formatting to mimic Excel behavior, including improvements to OLAP pivot table conversion and shared directory hyperlinks.

Bug Fixes

Aspect Ratio Lock

Fixed issues where locking the aspect ratio for shapes did not reflect properly.

Chart & Image Conversion

Resolved errors when converting charts and shapes to images or PDFs.

Custom Functions and Formats

Fixed issues with custom formats, where negative signs were being removed or SUM with XLOOKUP disappeared.

Excel to ODS Conversion

Addressed multiple issues, including file corruption and pivot table discrepancies when converting Excel to ODS.

File Saving Issues

Fixed bugs related to workbook resaving causing corruptions and loss of protection on chart sheets.

Public API and Backwards Incompatible Changes

DeleteBlankRows()/DeleteBlankColumns() Behavior Changes

The behavior for deleting rows or columns with drawing objects has been unified. Use DeleteBlankOptions to control the handling of drawings as blank.

PivotTable Refresh Behavior

Exception behavior during pivot table refresh has been modified to return a state instead of breaking the program flow.

New Methods for API Enhancement
  • Added methods to Cell for specifying formulas with parsing options.
  • Extended DeleteBlankOptions to specify ranges and determine whether drawing-related objects should be considered blank.
  • Added new methods for ExternalConnection and PivotTableCollection to enhance control over connections and pivot table configurations.
Deprecated and Obsolete Methods

Some methods in PivotTable and ExternalConnection are deprecated. Refer to updated alternatives.

For a complete list of features, enhancements, and bug fixes in this release please visit, Aspose.Cells for CPP 24.10 Release Notes.


Direct Cell Manipulation

  • Precise Cell Addressing: Navigate your data using specific cell addresses (e.g., "A1", "B2").
  • Named Ranges: Assign names to cell ranges for easier reference.
  • Active Cell Control: Manage the selected cell for streamlined data entry.
  • Range Operations: Perform calculations and apply formatting across cell blocks.

Dynamic Data Handling

  • Seamless Data Input: Directly populate spreadsheets or import from external sources.
  • Data Validation: Define rules to control input types and ranges.
  • Formulaic Power: Use C++ to create custom functions and complex formulas.
  • Data Manipulation: Perform sorting, filtering, and calculations on data.
  • Data Output: Export data from C++ applications to Excel® files.

Interactive Hyperlinking

  • Effortless Linking: Embed clickable hyperlinks within your spreadsheet.
  • Hyperlink Management: Programmatically create, modify, or remove hyperlinks.

Flexible Layout Control

  • Row and Column Resizing: Dynamically adjust dimensions.
  • AutoFit for Precision: Automatically optimize cell sizes for content.

Conditional Formatting

  • Dynamic Styling: Apply formatting based on criteria.
  • Rich Visualizations: Use data bars, color scales, and icons for better visuals.

Customizable Themes

  • Tailored Aesthetics: Apply custom themes for a consistent look.
  • Theme Management: Copy themes between workbooks and modify them as needed.

Calculation Engine

  • Formulaic Precision: Execute complex calculations with a wide range of functions.
  • Real-time Updates: Automatic recalculation when cell values change.

Cells Formatting

  • Font, Fill, Border, and Number Formatting: Customize fonts, backgrounds, borders, and number formats.
  • Alignment and Protection: Adjust text alignment, wrapping, and protect cells from edits.

Charts and Chart Rendering

  • Chart Types: Create bar, line, pie, and other chart types.
  • Chart Customization: Modify elements like titles, axes, and data labels.
  • Chart Rendering: Export charts as images with customizable settings.

Convert and Export Options

  • Convert Excel® to PDF: Save workbooks as PDFs with security options.
  • Export to Images: Convert worksheets to PNG, JPEG, BMP, and more.

Copying and Moving Data

  • Worksheet Copying/Moving: Duplicate and reorder sheets within or between workbooks.
  • Row/Column Copying: Duplicate rows or columns with ease.
  • Theme Copying: Copy themes across workbooks for consistent design.

Table and Pivot Table Management

  • Create and Format Tables: Create, style, and manipulate Excel® tables.
  • Pivot Tables: Generate and customize pivot tables for data analysis.

OLE Objects

  • Insert/Extract OLE Objects: Embed and extract OLE objects (charts, images) from worksheets.

Find or Search Data

  • Find/Replace: Search for and replace text or values.
  • Advanced Search: Use wildcards or regular expressions for precise searches.

Subtotals and Grouping

  • Subtotal Creation: Automatically insert subtotals for grouped data.
  • Grouping/Ungrouping: Collapse or expand row and column groups.

Supported File Formats

Format Description Load Save
XLS Excel® 95/5.0 - 2003 Workbook. ✔️ ✔️
XLSX The Office Open XML SpreadsheetML File Format. ✔️ ✔️
XLSB Excel® Binary Workbook. ✔️ ✔️
XLSM Excel® Macro-Enabled Workbook. ✔️ ✔️
XLT Excel® 97 - Excel® 2003 Template. ✔️ ✔️
XLTX Excel® Template. ✔️ ✔️
XLTM Excel® Macro-Enabled Template. ✔️ ✔️
XLAM An Excel® Macro-Enabled Add-In file that’s used to add new functions to Excel®. ✔️
CSV CSV (Comma Separated Value) file. ✔️ ✔️
TSV TSV (Tab-separated values) file. ✔️ ✔️
TabDelimited Tab-delimited text file, same with TSV file. ✔️ ✔️
TXT Delimited plain text file. ✔️ ✔️
HTML HTML format. ✔️ ✔️
MHTML MHTML file. ✔️ ✔️
ODS ODS (OpenDocument Spreadsheet). ✔️ ✔️
SpreadsheetML Excel® 2003 XML file. ✔️ ✔️
Numbers The document is created by Apple’s “Numbers” application which forms part of Apple’s iWork office suite. ✔️
JSON JavaScript Object Notation ✔️ ✔️
DIF Data Interchange Format. ✔️
PDF Adobe Portable Document Format. ✔️
XPS XML Paper Specification Format. ✔️
SVG Scalable Vector Graphics Format. ✔️
TIFF Tagged Image File Format ✔️
PNG Portable Network Graphics Format ✔️
BMP Bitmap Image Format ✔️
EMF Enhanced Metafile Format ✔️
JPEG JPEG is a type of image format that is saved using the method of lossy compression. ✔️
GIF Graphical Interchange Format ✔️
MARKDOWN Represents a markdown document. ✔️
SXC An XML based format used by OpenOffice and StarOffice ✔️ ✔️
FODS This is an Open Document format stored as flat XML. ✔️ ✔️
DOCX A well-known format for Microsoft Word documents that is a combination of XML and binary files. ✔️
PPTX The PPTX format is based on the Microsoft PowerPoint open XML presentation file format. ✔️
SqlScript Structured Query Language. ✔️
XHtml The XHTML is a text based file format with markup in the XML, using a reformulation of HTML 4.0. ✔️ ✔️
Epub Files with .epub extension are an e-book file format that provide a standard digital publication format for publishers and consumers. ✔️ ✔️
Xml XML stands for Extensible Markup Language that is similar to HTML but different in using tags for defining objects. ✔️ ✔️
Ots Open Document Template Sheet(OTS) file. ✔️ ✔️
AZW3 AZW is a digital ebook file format developed by Amazon for its Kindle devices. AZW3, also known as Kindle Format 8 (KF8). ✔️ ✔️

System Requirements

Section Description
Supported Operating Systems Aspose.Cells for C++ supports the following 64-bit or 32-bit operating systems and platforms:
Operating System Versions
Microsoft Windows® - Windows® x86, - Windows® x86_64
Linux - Linux x86_64, - Linux for ARM (aarch64)
macOS - macOS 11 or later (arm64, x86_64)

Development Environment

Section Description
Development Platforms Aspose.Cells for C++ can be used to develop applications for Windows®, Linux, or macOS.

Windows®

Environment Description
Supported Development Environments Aspose.Cells for C++ can be used to develop applications in any environment that supports Microsoft Visual Studio v142 Platform Toolset. Supported environments:
Development Environments - Microsoft Visual Studio 2019, - Microsoft Visual Studio 2022

Linux

Environment Description
Compilers Aspose.Cells for C++ can be used to develop applications that support C++11 or higher, but the following compilers are explicitly supported:
Supported Compilers - GCC 9.4.0 or later
Additional Dependencies Aspose.Cells for C++ on Linux requires fontconfig binaries (dynamic library and tool). Installation commands:
Installing on Ubuntu/Debian sudo apt install libfontconfig fontconfig
Installing on Fedora/CentOS sudo yum install fontconfig

macOS

Environment Description
Supported Development Environments Aspose.Cells for C++ can be used in the following environments:
Development Environments - Xcode 12.5.1 or later, - Clang and libc++ (included by default with Xcode)

Installing Aspose.Cells for C++ in Windows®

Using NuGet Package Manager

  • Search for Aspose.Cells.Cpp in the NuGet Package Manager.
  • Simply execute Install-Package Aspose.Cells.Cpp. 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.

Using Include and lib Folders

  • Download the latest files and unzip them.
  • Reference the "Include" and "lib / dll" directories in your project.

Installing Aspose.Cells for C++ in Linux

  • Download the latest files and unzip them.
  • Reference the "Include" and "libAspose.Cells.so" directories in your project.

Installing Aspose.Cells for C++ in macOS

  • Download the latest files and unzip them.
  • Reference the "Include" and "libAspose.Cells.dylib" directories in your project.

Aspose.Cells for C++ Code Samples

Insert Multiple Rows in Excel® Worksheet using Aspose.Cells for C++

Learn how to insert multiple rows into an Excel® worksheet programmatically using Aspose.Cells for C++. This step-by-step guide demonstrates the usage of the InsertRows method to efficiently add rows in any position within a worksheet, making spreadsheet manipulation easier in C++ applications.

// Initialize Aspose.Cells library
Aspose::Cells::Startup();

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C

// Define the path to the input directory
U16String dirPath(u"");

// Define the path to the output directory
U16String outPath(u"");

// Define the path to the input Excel&reg; file
U16String sampleInsertingDeletingRowsAndColumns = dirPath + u"sampleInsertingDeletingRowsAndColumns.xlsx";

// Define the path to the output Excel&reg; file
U16String outputInsertingDeletingRowsAndColumns = outPath + u"outputInsertingDeletingRowsAndColumns.xlsx";

// Load the Excel&reg; file into a workbook object
Workbook workbook(sampleInsertingDeletingRowsAndColumns);

// Access the first worksheet in the workbook
Worksheet worksheet = workbook.GetWorksheets().Get(0);

// Insert 10 rows starting from the 3rd row (index 2) in the worksheet
worksheet.GetCells().InsertRows(2, 10);

// Save the updated Excel&reg; file
workbook.Save(outputInsertingDeletingRowsAndColumns);

// Cleanup Aspose.Cells library resources
Aspose::Cells::Cleanup();

Source*

Apply Conditional Formatting in a Worksheet

The following example demonstrates how to apply conditional formatting to cells A1 and B2. The conditional formatting rule hides the red background color in these cells when values greater than 100 are entered into cells A2 and B2.

// Initialize Aspose.Cells library
Aspose::Cells::Startup();

// Define the path for output Excel&reg; file
U16String outPath(u"");
U16String outputApplyConditionalFormattingInWorksheet = outPath + u"outputApplyConditionalFormattingInWorksheet.xlsx";

// Create an empty workbook
Workbook wb;

// Access the first worksheet
Worksheet ws = wb.GetWorksheets().Get(0);

// Add a new empty conditional formatting rule
int idx = ws.GetConditionalFormattings().Add();
FormatConditionCollection fcs = ws.GetConditionalFormattings().Get(idx);

// Define the range for conditional formatting (A1 and B2)
CellArea ca = CellArea::CreateCellArea(u"A1", u"A1");
fcs.AddArea(ca);
ca = CellArea::CreateCellArea(u"B2", u"B2");
fcs.AddArea(ca);

// Add a condition to format cells when their values are between the specified range
idx = fcs.AddCondition(FormatConditionType::CellValue, OperatorType::Between, u"=A2", u"100");
FormatCondition fc = fcs.Get(idx);

// Set the background color to red
fc.GetStyle().SetBackgroundColor(Color{ 0xff,0xff ,0 ,0 });

// Add a user-friendly message to explain the conditional formatting effect
U16String msgStr = u"Red color in cells A1 and B2 is due to Conditional Formatting. "
                   u"Enter a value >100 in A2 and B2 to see the red background disappear.";
ws.GetCells().Get(u"A10").PutValue(msgStr);

// Save the output Excel&reg; file
wb.Save(outputApplyConditionalFormattingInWorksheet);

// Cleanup Aspose.Cells library
Aspose::Cells::Cleanup();

Source*


Product Page Docs Reference Examples Blog Releases Support License


Tags

Aspose | GroupDocs |Spreadsheet Manipulation | Excel File Formats | C++ Excel API | Conditional Formatting | Data Handling | Chart Rendering | PDF Export | Excel to PDF | File Conversion | Pivot Tables | OLE Objects | Cell Manipulation | Interactive Hyperlinking | Custom Themes | Linux Support | macOS Support | Windows Support | NuGet Package | Excel Automation | Excel API | Spreadsheet Processing | Excel Export | SpreadsheetML | OpenOffice XML | CSV Support | TSV Support | Image Export | API Integration | Workbook Manipulation | Worksheet Formatting | Table Creation | Pivot Table Management

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Aspose.Cells.Cpp:

Package Downloads
Aspose.Total.Cpp

Aspose.Total for C++ is a complete package of C++ libraries specifically designed to create, manipulate and convert popular file formats from Microsoft Office and PDF without requiring Office or Adobe Automation. C++ API package also includes a specialized library to generate and recognize barcode labels from images with advanced features to customize the barcode generation and recognition process.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
24.12.0 327 12/12/2024
24.11.0 412 11/13/2024
24.10.0 611 10/11/2024
24.9.0 1,801 9/11/2024
24.8.0 968 8/9/2024
24.7.0 982 7/12/2024
24.6.0 1,476 6/17/2024
24.5.0 1,988 5/10/2024
24.4.0 2,210 4/10/2024
24.3.0 2,551 3/11/2024
24.2.0 2,684 2/6/2024
24.1.0 3,145 1/10/2024
23.12.0 2,456 12/15/2023
23.11.0 3,415 11/13/2023
23.10.0 3,794 10/12/2023
23.9.0 3,665 9/14/2023
23.8.2 4,088 8/28/2023
23.8.1 502 8/23/2023
23.8.0 809 8/15/2023
23.7.0 6,374 7/10/2023
23.6.0 4,473 6/7/2023
23.5.0 3,520 5/9/2023
23.4.0 4,107 4/7/2023
23.3.1 535 3/31/2023
23.3.0 4,148 3/9/2023
23.2.0 4,879 2/6/2023
23.1.0 4,829 1/10/2023
22.12.0 5,101 12/1/2022
22.11.0 5,520 11/2/2022
22.10.0 5,336 10/8/2022
22.9.1 5,146 9/22/2022
22.9.0 803 9/2/2022
22.8.1 5,752 8/23/2022
22.8.0 814 8/5/2022
22.7.1 6,452 7/22/2022
22.7.0 934 7/4/2022
22.6.2 6,137 6/14/2022
22.6.1 782 6/13/2022
22.6.0 891 6/2/2022
22.5.0 9,638 4/29/2022
22.4.2 886 4/15/2022
22.4.1 805 4/8/2022
22.4.0 844 4/7/2022
22.3.0 5,916 3/4/2022
22.2.0 6,604 2/9/2022
22.1.0 5,415 1/14/2022
21.12.0 4,920 12/15/2021
21.11.0 9,714 11/16/2021
21.10.0 6,725 10/20/2021
21.9.0 6,121 9/14/2021
21.8.0 756 4/28/2022
21.7.0 8,762 7/15/2021
21.6.0 5,409 6/18/2021
21.5.0 606 5/18/2021
21.4.0 771 4/28/2022
21.3.0 825 4/28/2022
21.2.0 778 4/28/2022
21.1.0 19,433 1/25/2021
20.8.0 752 5/11/2022
20.7.0 23,130 7/21/2020
20.6.0 726 5/11/2022
20.5.0 749 6/16/2022
20.4.0 741 6/29/2022
20.3.0 766 6/29/2022
19.12.0 820 5/13/2022
19.11.0 21,393 11/27/2019
19.10.0 865 10/11/2019
19.9.0 740 5/13/2022
19.8.2 1,973 8/29/2019
19.8.1 1,087 8/29/2019
19.8.0 675 8/28/2019
19.7.0 808 6/9/2022
19.6.0 744 6/6/2022
19.5.0 783 6/6/2022
19.4.0 820 4/10/2019
19.3.1 789 3/22/2019
19.3.0 1,081 3/14/2019
19.2.0 786 6/6/2022
19.1.0 922 1/23/2019
18.8.0 1,115 8/21/2018
18.5.0 1,124 5/18/2018
18.4.0 1,463 4/18/2018