Aspose.Cells.Cpp
24.10.0
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
<PackageReference Include="Aspose.Cells.Cpp" Version="24.10.0" />
paket add Aspose.Cells.Cpp --version 24.10.0
#r "nuget: Aspose.Cells.Cpp, 24.10.0"
// 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
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
andPivotTableCollection
to enhance control over connections and pivot table configurations.Deprecated and Obsolete Methods
Some methods in
PivotTable
andExternalConnection
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. | ✔️ | |
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 executeUpdate-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® file
U16String sampleInsertingDeletingRowsAndColumns = dirPath + u"sampleInsertingDeletingRowsAndColumns.xlsx";
// Define the path to the output Excel® file
U16String outputInsertingDeletingRowsAndColumns = outPath + u"outputInsertingDeletingRowsAndColumns.xlsx";
// Load the Excel® 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® file
workbook.Save(outputInsertingDeletingRowsAndColumns);
// Cleanup Aspose.Cells library resources
Aspose::Cells::Cleanup();
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® 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® file
wb.Save(outputApplyConditionalFormattingInWorksheet);
// Cleanup Aspose.Cells library
Aspose::Cells::Cleanup();
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
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 |