使用SpreadsheetGear在特定行号的列上应用数字格式

时间:2013-05-09 09:19:35

标签: spreadsheetgear

我正在使用SpreadsheetGear生成Excel工作表。我想在从第10行开始的列上应用数字格式。

但是当我使用下面的代码时,它会为整个列应用格式。

worksheet.Cells[10, 2].EntireColumn.NumberFormat = "@";

如何确保从第10行开始对整个列应用格式。

1 个答案:

答案 0 :(得分:2)

这可以通过多种方式实现。一种可能是“减去”整列中的前10行,这可以使用IRange。Subtract()来完成。例如:

// First obtain a reference to all of Column C, then "subtract" the first 9 rows from it
IRange range = worksheet.Cells["C:C"].Subtract(worksheet.Cells["C1:C9"]);
// Apply your formatting...
range.NumberFormat = "@";

另一种方法是使用从零开始的索引来选择所需的范围,使用IWorkbookSet。MaxRows属性来确定最大行(目前为1,048,576,根据Excel的文件格式限制)。例如:

IRange range = worksheet.Cells[9, 2, worksheet.WorkbookSet.MaxRows - 1, 2];

最后,您可以使用A1样式引用对范围进行硬编码,因为知道当前文件格式限制为1,048,576行。例如:

IRange range = worksheet.Cells["C10:C1048576"];