2016-01-13 49 views
1

我需要這樣的代碼:使用動態範圍與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; 
} 

如何可以構造這樣的索引與sheet.Cells使用,從basePosition

+2

可以改爲使用上的數字過載? sheet.Cells [FromRow,FromCol,ToRow,ToCol] .Merge = true? – andrew

+0

@andrew哦我會盡力感謝 – ibiza

回答

1

我會選擇使用.Offset()函數。這是很好,整潔,並節省計算新的範圍需要哪些行/列索引。

因此,像這樣將提供一系列5排下來,從1列寬你原來basePosition

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

感謝這看起來優雅。對於我的情況,我想我需要'.Offset(0,0,1,5)' – ibiza