我正在使用 SpreadsheetGear 生成一个 excel 表。我想对从第 10 行开始的列应用数字格式。
但是当我使用下面的代码时,它会为整个列应用格式。
worksheet.Cells[10, 2].EntireColumn.NumberFormat = "@";
如何确保从第 10 行开始对整列应用格式设置。
我正在使用 SpreadsheetGear 生成一个 excel 表。我想对从第 10 行开始的列应用数字格式。
但是当我使用下面的代码时,它会为整个列应用格式。
worksheet.Cells[10, 2].EntireColumn.NumberFormat = "@";
如何确保从第 10 行开始对整列应用格式设置。
这可以通过多种方式实现。一种可能是从整个列中“减去”前 10 行,这可以使用 IRange 完成。减()。例子:
// 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"];