常见问题

许可与开源

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++ 能读取和写入哪些文件格式?

格式LoadSave
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 序列化。


另请参阅

 中文