我希望获得给定行/列对的单元格的名称。我需要在公式中使用名称。例如,我想将单元格(3,4)设置为添加单元格(4,4)和(5,4)的值的公式。
细胞(3,4)是D5
; (4,4)是E5
,(5,4)是F5
。因此,我的公式应如下所示:
=E5+F5
我可以像这样格式化我的公式:
const int col = 3;
const int row = 4;
worksheet.Cells[row, col].Formula = string.Format(
"={0}{1}+{2}{3}"
, (char)('A'+col+1) // <<== Broken, do not use
, row+1
, (char)('A'+col+2) // <<== Broken, do not use
, row+1
);
这适用于A..Z列,但是对于名称在右侧更远的列会中断。我可以使用a trick described in this Q&A,但问题看起来很基本,不应该对我进行编码。
答案 0 :(得分:2)
你不需要这么做,因为Aspose为你做了。他们的CellsHelper
类有CellIndexToName
方法,它完全符合您的需要:
const int col = 3;
const int row = 4;
worksheet.Cells[row, col].Formula =
$"={CellsHelper.CellIndexToName(row, col+1)}+{CellsHelper.CellIndexToName(row, col+2)}";