Gembox.Spreadsheet 中的 R1C1 公式

R1C1-formulas in Gembox.Spreadsheet

我正在测试 GemBox.Spreadsheet (47.0.1031),发现 R1C1 公式是 available in the latest versions.

但是,它是如何工作的?到目前为止我的测试失败了:

SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");
var f = new ExcelFile();
var ws = f.Worksheets.Add("Sheet1");
f.CalculationOptions.PrioritizeR1C1ReferencingNotation = true;

for(int i = 0; i<50; i++)
{
    ws.Cells[i, 0].Value = i + 1;
    ws.Cells[i, 1].Formula = "=RC[-1] * 17";
}
f.Save(..path..);

甚至 =R1C1 都不起作用,并且 =RC1 被读取为绝对参考(RC 列第 1 行),尽管我尝试使用 PrioritizeR1C1ReferencingNotation 设置。

Excel 在打开文件并删除公式时显示有关 /xl/worksheets/sheet1.xml-Part 中内容损坏的警告。

以前,只有计算引擎支持 R1C1 表示法。
不过,请尝试使用当前最新的 bugfix version or NuGet package.

并尝试以下操作:

var ef = new ExcelFile();
var ws = ef.Worksheets.Add("Sheet1");

for (int i = 0; i < 50; i++)
{
    ws.Cells[i, 0].Value = i + 1;
    ws.Cells[i, 1].FormulaR1C1 = "=RC[-1] * 17";
}

ef.Save("output.xlsx");