将动态范围与 EPPlus 结合使用
Using dynamic ranges with EPPlus
我需要这种代码:
// 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
一起使用?
为此,我会选择使用 .Offset()
函数。它既漂亮又整洁,并且节省了计算新范围所需的 row/col 索引的时间。
所以像这样的东西会给出比原来的范围低 5 行,宽 1 列的范围 basePosition
:
private static void CreateSection(ExcelRange basePosition)
{
var rangeToMerge = basePosition.Offset(0, 0, 5, 1);
rangeToMerge.Merge = true;
}
我需要这种代码:
// 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
一起使用?
为此,我会选择使用 .Offset()
函数。它既漂亮又整洁,并且节省了计算新范围所需的 row/col 索引的时间。
所以像这样的东西会给出比原来的范围低 5 行,宽 1 列的范围 basePosition
:
private static void CreateSection(ExcelRange basePosition)
{
var rangeToMerge = basePosition.Offset(0, 0, 5, 1);
rangeToMerge.Merge = true;
}