将动态范围与EPPlus一起使用

本文关键字:一起 EPPlus 动态 范围 | 更新日期: 2023-09-27 18:30:00

我需要这种代码:

// sheet.Cells is an ExcelRange
sheet.Cells["A1:E1"].Merge = true;

动态,具有基准参考点:

private void CreateSection(ExcelRange basePosition)
{
    // sheet.Cells is an ExcelRange
    // E.g. if basePosition.Address is "A1", then dynamic value would be "A1:E1"
    // E.g. if basePosition.Address is "C4", then dynamic value would be "C4:G4"
    sheet.Cells["{basePosition.Address}:{basePosition.Address+4cols}"].Merge = true;
}

如何从basePosition构造这样一个用于sheet.Cells的索引?

将动态范围与EPPlus一起使用

我会选择使用.Offset()函数。它既美观又简洁,可以节省计算新范围所需的行/列索引的时间。

因此,像这样的东西会给出一个范围,从最初的basePosition:向下5行,1列宽

private static void CreateSection(ExcelRange basePosition)
{
    var rangeToMerge = basePosition.Offset(0, 0, 5, 1);
    rangeToMerge.Merge = true;
}