常见问题
许可与开源
Aspose.Cells FOSS for C++ 使用什么许可证?
Aspose.Cells FOSS for C++ 在以下许可证下发布 MIT License. 您可以自由地在开源和商业项目中使用、修改、分发并再授权该库,且无需付费。唯一的要求是,在分发时必须包含版权声明和许可证文本。
我可以在商业产品中使用 Aspose.Cells FOSS for C++ 吗?
是的。MIT License 允许无限制的商业使用。您无需购买许可证或披露源代码。请在您的发行包中包含来自仓库的 License/LICENSE.txt 文件。
这与商业版 Aspose.Cells for C++ 产品相同吗?
不是。Aspose.Cells FOSS for C++ 是一个独立的开源库,采用 MIT license,功能集专注(XLSX 和 CSV 读写、单元格操作、样式)。商业版 Aspose.Cells for C++ 产品具有更广泛的功能集,并采用单独的许可证。
安装与要求
对于 Aspose.Cells FOSS for C++,系统要求是什么?
- Compiler: C++17兼容(GCC 9+、Clang 10+、或 MSVC 2019+)
- 构建系统: CMake 3.15 或更高版本
- 操作系统: Linux、macOS 或 Windows
- Dependencies: 无 — 库是自包含的
如何将 Aspose.Cells FOSS for C++ 添加到我的项目中?
克隆仓库并使用 CMake 的 add_subdirectory 或 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)该库是否有任何本机(系统)依赖?
否。Aspose.Cells FOSS for C++ 没有外部库依赖。所有必需的代码都包含在仓库中。
格式支持
Aspose.Cells FOSS for C++ 能读取和写入哪些文件格式?
| 格式 | Load | Save |
|---|---|---|
| XLSX | ✔ | ✔ |
| CSV | ✔ | — |
XLSX 是主要支持的格式。支持加载 CSV;当前版本不支持保存为 CSV。
我可以加载受密码保护的 XLSX 文件吗?
否。不支持受密码保护的 XLSX 文件。该库只能打开普通(未加密)的 XLSX 文件。
API Usage
如何创建一个新的工作簿并保存它?
使用 Workbook 类作为入口点。默认工作表会自动创建:
#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;
}如何设置单元格的值和公式?
使用 Cell::PutValue 代表文字值,使用 Cell::SetFormula 代表公式表达式:
sheet.GetCells()["A1"].PutValue("Item");
sheet.GetCells()["B1"].PutValue(42.5);
sheet.GetCells()["C1"].SetFormula("=SUM(B1:B3)");如何对单元格应用样式?
从 Cell::GetStyle() 获取当前样式,进行修改,然后使用 Cell::SetStyle(style) 重新应用:
Style style = sheet.GetCells()["A1"].GetStyle();
Font font;
font.SetBold(true);
style.SetFont(font);
sheet.GetCells()["A1"].SetStyle(style);如何从已加载的工作簿中读取值?
使用 Workbook(filePath) 加载工作簿,并使用 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();已知限制
所有列出的 API 类都已完全实现吗?
否。在当前 v0.1 发行版中,有几个类在头文件中声明,但实现为空桩。已知的桩包括:
ConditionalFormattingCollection和FormatCondition— 条件格式规则已声明但未实现AutoFilter和AutoFilterCustomFilter— 自动过滤已声明但未运行DateTime— 日期/时间转换帮助函数为桩
使用 WorkbookValidator::ValidateForSave 方法在保存前捕获不支持的操作。
公式计算在运行时是否有效?
不。Aspose.Cells 用于 C++ 的 FOSS 将公式字符串写入单元格(SetFormula),但不会在运行时求值。公式求值会在打开已保存的 XLSX 文件时由 Excel 或兼容阅读器完成。
是否支持图表、图像或数据透视表?
不。目前的版本不支持图表、图像、绘图对象或数据透视表。该库专注于单元格数据、格式设置以及 XLSX 序列化。
另请参阅
- Installation — 使用 CMake 设置库。
- Features — 所有受支持功能的概览。
- Aspose.Cells FOSS for C++ 在 GitHub 上
- Aspose.Cells for C++ — Enterprise Knowledge Base