Frequently Asked Questions
Licensing & Open Source
What license does Aspose.Cells FOSS for C++ use?
Aspose.Cells FOSS for C++ is released under the MIT License. You are free to use, modify, distribute, and sublicense the library in both open-source and commercial projects at no cost. The only requirement is that the copyright notice and license text are included in distributions.
Can I use Aspose.Cells FOSS for C++ in a commercial product?
Yes. The MIT License permits unrestricted commercial use. You do not need to purchase a license or disclose your source code. Include the License/LICENSE.txt file from the repository in your distribution package.
Is this the same as the commercial Aspose.Cells for C++ product?
No. Aspose.Cells FOSS for C++ is an independent open-source library with an MIT license and a focused feature set (XLSX and CSV read/write, cell operations, styling). The commercial Aspose.Cells for C++ product has a broader feature set and is separately licensed.
Installation & Requirements
What are the system requirements for Aspose.Cells FOSS for C++?
- Compiler: C++17-compatible (GCC 9+, Clang 10+, or MSVC 2019+)
- Build system: CMake 3.15 or higher
- Operating system: Linux, macOS, or Windows
- Dependencies: None — the library is self-contained
How do I add Aspose.Cells FOSS for C++ to my project?
Clone the repository and use CMake’s add_subdirectory or FetchContent:
cmake_minimum_required(VERSION 3.15)
project(MyProject CXX)
set(CMAKE_CXX_STANDARD 17)
add_subdirectory(path/to/Aspose.Cells-FOSS-for-Cpp)
add_executable(MyApp main.cpp)
target_link_libraries(MyApp PRIVATE Aspose.Cells.Foss.Cpp)Does the library have any native (system) dependencies?
No. Aspose.Cells FOSS for C++ has no external library dependencies. All required code is included in the repository.
Format Support
Which file formats can Aspose.Cells FOSS for C++ read and write?
| Format | Load | Save |
|---|---|---|
| XLSX | ✔ | ✔ |
| CSV | ✔ | — |
XLSX is the primary supported format. CSV loading is supported; saving to CSV is not available in the current version.
Can I load password-protected XLSX files?
No. Password-protected XLSX files are not supported. The library can only open plain (non-encrypted) XLSX files.
API Usage
How do I create a new workbook and save it?
Use the Workbook class as the entry point. A default worksheet is created automatically:
#include "aspose/cells_foss/Workbook.h"
#include "aspose/cells_foss/Worksheet.h"
#include "aspose/cells_foss/Cell.h"
using namespace Aspose::Cells_FOSS;
int main() {
Workbook workbook;
Worksheet& sheet = workbook.GetWorksheets()[0];
sheet.SetName("Data");
sheet.GetCells()["A1"].PutValue("Hello");
workbook.Save("output.xlsx");
return 0;
}How do I set cell values and formulas?
Use Cell::PutValue for literal values and Cell::SetFormula for formula expressions:
sheet.GetCells()["A1"].PutValue("Item");
sheet.GetCells()["B1"].PutValue(42.5);
sheet.GetCells()["C1"].SetFormula("=SUM(B1:B3)");How do I apply styling to cells?
Get the current style from Cell::GetStyle(), modify it, and apply it back with Cell::SetStyle(style):
Style style = sheet.GetCells()["A1"].GetStyle();
Font font;
font.SetBold(true);
style.SetFont(font);
sheet.GetCells()["A1"].SetStyle(style);How do I read values back from a loaded workbook?
Load the workbook with Workbook(filePath) and read cell values with Cell::GetValue():
Workbook workbook("input.xlsx");
Worksheet& sheet = workbook.GetWorksheets()[0];
std::string text = sheet.GetCells()["A1"].GetStringValue();
double number = sheet.GetCells()["B1"].GetValue().AsDouble();Known Limitations
Are all listed API classes fully implemented?
No. Several classes in the current v0.1 release are declared in the header files but have empty stub implementations. Known stubs include:
ConditionalFormattingCollectionandFormatCondition— conditional formatting rules are declared but not functionalAutoFilterandAutoFilterCustomFilter— auto-filter is declared but not operationalDateTime— date/time conversion helpers are stubs
Use the WorkbookValidator::ValidateForSave method to catch unsupported operations before saving.
Does formula calculation work at runtime?
No. Aspose.Cells FOSS for C++ writes formula strings to cells (SetFormula), but does not evaluate formulas at runtime. Formula evaluation happens when the saved XLSX file is opened in Excel or a compatible reader.
Is there support for charts, images, or pivot tables?
No. The current release does not support charts, images, drawing objects, or pivot tables. The library is focused on cell data, formatting, and XLSX serialization.
See Also
- Installation — Set up the library with CMake.
- Features — Overview of all supported capabilities.
- Aspose.Cells FOSS for C++ on GitHub
- Aspose.Cells — Enterprise Documentation