【问题标题】:Applying number format on a column from a specific row number using SpreadsheetGear使用 SpreadsheetGear 在特定行号的列上应用数字格式
【发布时间】:2013-05-09 09:19:34
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: spreadsheetgear


    【解决方案1】:

    这可以通过多种方式实现。一种可能是从整个列中“减去”前 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"];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多