[]
        
(Showing Draft Content)

修改表格

在GcExcel Java中使用表格时,可以根据电子表格的要求,使用 ITable 接口的方法修改表格,从而对其进行配置。

修改表格大小

可以使用ITable接口的 resize 方法修改表格的大小。

要修改表格大小,请参阅以下示例代码。

// Modify table range
table.resize(worksheet.getRange("B1:E4"));

修改表格区域

可以使用 ITable 接口的 getHeaderRange 方法, getDataRange 方法和 getTotalsRange 方法访问特定表区域的标题范围、数据范围和总范围,从而修改特定表区域的值。


要修改工作表中的表区域,请参阅以下示例代码。

ITable table = worksheet.getTables().add(worksheet.getRange("A1:E5"), true);
table.setShowTotals(true);
        
// Populate table values
        
worksheet.getRange("A2").setValue(3);
worksheet.getRange("A3").setValue(4);
worksheet.getRange("A4").setValue(2);
worksheet.getRange("A5").setValue(1);
worksheet.getRange("B2").setValue(32);
worksheet.getRange("B3").setValue(41);
worksheet.getRange("B4").setValue(12);
worksheet.getRange("B5").setValue(16);
worksheet.getRange("C2").setValue(3);
worksheet.getRange("C3").setValue(4);
worksheet.getRange("C4").setValue(15);
worksheet.getRange("C5").setValue(18);
        
// Table second column name set to "Age".
worksheet.getTables().get(0).getHeaderRange().get(0, 1).setValue("Age");

// "Age" Column's second row's value set to 23.
worksheet.getTables().get(0).getDataRange().get(1, 1).setValue(23);

// "Age" column's total row function set to average.
worksheet.getTables().get(0).getTotalsRange().get(0, 1).setFormula("=SUBTOTAL(101,[Age])");

修改表列的合计行

当需要更改特定表列的合计行计算函数时,可以使用 ITableColumn 接口的  setTotalsCalculation 方法。

请参阅以下示例代码以修改列合计行的计算函数。

Workbook workbook = new Workbook();
IWorksheet worksheet = workbook.getWorksheets().get(0);
worksheet.getTables().add(worksheet.getRange("A1:E5"), true);
 
// Populate table values
worksheet.getRange("A2").setValue(3);
worksheet.getRange("A3").setValue(4);
worksheet.getRange("A4").setValue(2);
worksheet.getRange("A5").setValue(1);
worksheet.getRange("B2").setValue(32);
worksheet.getRange("B3").setValue(41);
worksheet.getRange("B4").setValue(12);
worksheet.getRange("B5").setValue(16);
worksheet.getRange("C2").setValue(3);
worksheet.getRange("C3").setValue(4);
worksheet.getRange("C4").setValue(15);
worksheet.getRange("C5").setValue(18);
        
// First table column's total row calculation fuction will be "=SUBTOTAL(101,[Column1])"
worksheet.getTables().get(0).getColumns().get(0).setTotalsCalculation(TotalsCalculation.Average);
worksheet.getTables().get(0).setShowTotals(true);