[]
        
(Showing Draft Content)

定义名称

定义名称指的是对常量、表格、单元格范围或公式等命名,以便在公式中引用它们,使得公式更易于理解。 在复杂计算中特别有用,例如计算一个完整的财政年度的税收,其中需要找到和理解具有不同投资、应税所得等的单元格。

GcExcel支持在IWorkbookIWorksheet接口上使用getNamessetNames方法,这些方法可以获取INames接口关于IName对象的集合, 同时GcExcel也支持ITable接口的getNamesetName方法,可以用来为单元格范围、常量、公式和表格命名,以便在公式中使用这些名称。

给表格命名

使用ITable接口的getName方法为表格命名。表格名称的作用域默认为工作簿,在工作簿范围内创建表格时只能使用该名称。 这个名称将出现在Excel的名称管理器中,如下图所示。




参考下面的代码来给表格命名:

// Name a table.
ITable table = worksheet.getTables().add(worksheet.getRange("A1:F7"), true);
table.setName("Master Table");

为单元格范围、公式和常量命名

使用Workbook和Worksheet对象的getNames方法为单元格范围、公式和常量命名。这个方法会添加一个IName对象, 用于存储名称和被引用的单元格、公式或常量。添加到Workbook对象的名称存储在工作簿范围内,而添加到Worksheet对象的 名称则存储在工作表范围内。这个名称将出现在Excel的名称管理器中,如下图所示。




参考以下示例代码,在工作簿范围内为单元格范围、公式和常量命名:

// Name a range in workbook scope.
workbook.getNames().add("Range1", "Data Sheet!A1:C7");

// Name formula in workbook scope.
workbook.getNames().add("Sum", "=SUM(F2:F7)");

// Name a constant in workbook scope.
workbook.getNames().add("pi", "3.14");

// Name a cell in workbook scope.
workbook.getNames().add("Weight", "E1");

参考以下示例代码,在工作表范围内为单元格范围、公式和常量命名:

// Name a range in worksheet scope.
workbook.getWorksheets().get(worksheet.getIndex()).getNames().add("Range2", "Data Sheet!D1:F7");

// Name formula in worksheet scope.
workbook.getWorksheets().get(worksheet.getIndex()).getNames().add("Count", "=COUNT(E2:E7)");

// Name a constant in worksheet scope.
workbook.getWorksheets().get(worksheet.getIndex()).getNames().add("Euler_Number", "2.71");
        
// Name a cell in worksheet scope.
workbook.getWorksheets().get(worksheet.getIndex()).getNames().add("Height", "F1");