常见问题

常见问题

许可与开源

Aspose.Cells FOSS for .NET 的许可证是什么?

Aspose.Cells .NET 的 FOSS 在以下条款下发布 MIT 许可证. 您可以自由地在任何项目中使用、复制、修改和分发该库——包括商业软件——无需支付版税,也无需除许可证声明之外的署名要求。源代码可在以下位置获取 github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-NET.

我可以在商业产品中使用 Aspose.Cells FOSS for .NET 吗?

是的。MIT License 允许无限制的商业使用。没有席位限制、运行时费用或订阅要求。

这与商业版 Aspose.Cells for .NET 相同吗?

No. Aspose.Cells FOSS 是一个独立的开源库。它仅支持 XLSX 的读取/写入。针对 .NET 的商业版 Aspose.Cells 支持许多额外格式(XLS、ODS、PDF、HTML 等)以及超出此 FOSS 发行版范围的功能。


安装与要求

如何为 .NET 安装 Aspose.Cells FOSS?

通过 dotnet CLI 安装:

dotnet add package Aspose.Cells.FOSS

或通过 Visual Studio 包管理器控制台:

Install-Package Aspose.Cells_FOSS

支持哪些 .NET 版本?

.NET 6.0 或更高(推荐使用 .NET 8.0 LTS)。该库是纯托管代码,不针对 .NET Framework。

是否有任何本机依赖?

不。Aspose.Cells FOSS for .NET 是纯托管代码,没有 COM、P/Invoke、Office Interop 或本机库依赖。它可在 Windows、macOS、Linux、Docker 和无服务器环境中运行。


格式支持

Aspose.Cells FOSS for .NET 能读取和写入哪些文件格式?

格式扩展名读取写入
Xlsx.xlsx✓✓

该库能读取或写入 CSV、XLS、ODS 或 PDF 文件吗?

不。此版本仅支持 XLSX(Open XML)。CSV、二进制 XLS、ODS、PDF、HTML 和图像导出均不可用。

我可以加载稍有损坏的 XLSX 文件吗?

是的。将带有 TryRepairPackage = true 和 TryRepairXml = true 的 LoadOptions 对象传递给 Workbook 构造函数。库将尝试恢复该文件。如果文件无法恢复,将抛出 WorkbookLoadException。

using Aspose.Cells_FOSS;

var opts = new LoadOptions { TryRepairPackage = true, TryRepairXml = true };
var wb = new Workbook("file.xlsx", opts);
Console.WriteLine("Repairs applied: " + wb.LoadDiagnostics.HasRepairs);

API Usage

如何创建新工作簿并写入单元格数据?

实例化 Workbook,通过 Workbook.Worksheets[0] 访问第一个工作表,并调用 Cell.PutValue() 写入数据。使用 Workbook.Save(path) 保存。

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

ws.Cells["A1"].PutValue("Name");
ws.Cells["B1"].PutValue("Score");
ws.Cells["A2"].PutValue("Alice");
ws.Cells["B2"].PutValue(95);
ws.Cells["C2"].Formula = "=B2*1.1";

wb.Save("output.xlsx");

如何从现有的 XLSX 文件中读取单元格值?

将文件路径传递给 Workbook 构造函数,并通过 Cell.StringValue(显示字符串)或 Cell.Value(原始 .NET 对象)读取单元格值。

using Aspose.Cells_FOSS;

var wb = new Workbook("output.xlsx");
var ws = wb.Worksheets[0];

Console.WriteLine(ws.Cells["A2"].StringValue);  // Alice
Console.WriteLine(ws.Cells["B2"].StringValue);  // 95
Console.WriteLine(ws.Cells["C2"].Formula);       // =B2*1.1

如何对单元格应用样式?

调用 Cell.GetStyle() 获取当前的 Style,修改属性后,调用 Cell.SetStyle(style) 应用它们。

using Aspose.Cells_FOSS;

var wb = new Workbook();
var cell = wb.Worksheets[0].Cells["A1"];
cell.PutValue("Header");

var style = cell.GetStyle();
style.Font.Bold = true;
style.Font.Size = 14;
style.Pattern = FillPattern.Solid;
style.ForegroundColor = Color.FromArgb(255, 198, 239, 206);
style.HorizontalAlignment = HorizontalAlignmentType.Center;
cell.SetStyle(style);

wb.Save("styled.xlsx");

如何添加新工作表?

调用 Workbook.Worksheets.Add(name)。该方法返回新工作表的整数索引;使用它来访问工作表对象。

using Aspose.Cells_FOSS;

var wb = new Workbook();
wb.Worksheets[0].Name = "Summary";
var dataIdx = wb.Worksheets.Add("Data");
wb.Worksheets[dataIdx].Cells["A1"].PutValue("Data sheet");
wb.Save("multi.xlsx");

如何向单元格范围添加数据验证?

访问 Worksheet.Validations,调用 Add(CellArea) 创建一个 Validation,然后使用 ValidationType 设置其 Type。

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

var val = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("A1", "A10"))];
val.Type = ValidationType.List;
val.Formula1 = "\"Open,Closed,Pending\"";
val.InCellDropDown = true;

wb.Save("validated.xlsx");

已知限制

哪些功能不受支持?

以下内容超出了 Aspose.Cells FOSS 对于 .NET 的当前范围:

  • 除 XLSX 之外的格式(不支持 XLS、CSV、ODS、PDF、HTML 或图像导出)
  • 数据透视表和数据透视图
  • VBA 宏
  • Sparklines
  • 单元格内的富文本(混合字体运行)

该库是否支持公式重新计算?

公式字符串以原始形式存储和检索。计算值从 XLSX 文件中存储的缓存结果读取。库不执行服务器端公式重新计算——公式将在打开时由 Excel 或兼容的应用程序重新计算。

我可以使用密码保护工作簿吗?

工作表级别的保护可通过 Worksheet.Protect() 和 Worksheet.Protection 实现。工作簿级别的密码加密在当前的 API 表面中不可用。

另请参阅

 中文