指南Univer Sheets功能核心功能行列

行列操作

Facade API

行 Row

在指定行后插入行

insertRowAfter(afterPosition): 在指定行位置之后插入一行。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 这将在第一行位置后插入一行
sheet.insertRowAfter(0);

在指定行前插入行

insertRowBefore(beforePosition): 在指定行位置之前插入一行。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 这将在第一行位置前插入一行
sheet.insertRowBefore(0);

插入多行

insertRows(rowIndex, numRows): 在工作表中从指定位置开始插入一个或多个连续的空白行。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 将所有行向下移动三位
sheet.insertRows(0, 3);

在指定行后插入多行

insertRowsAfter(afterPosition, howMany): 在指定行位置之后插入若干行。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 这将在第一行后插入五行
sheet.insertRowsAfter(0, 5);

在指定行前插入多行

insertRowsBefore(beforePosition, howMany): 在指定行位置之前插入若干行。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 这在第一行之前插入五行
sheet.insertRowsBefore(0, 5);

删除指定行

deleteRow(rowPosition): 删除给定行位置处的行。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 行从 0 开始 - 这将删除第一行
sheet.deleteRow(0);

删除多行

deleteRows(rowPosition, howMany): 删除从给定行位置开始的若干行。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 行从 0 开始 - 这将删除前两行
sheet.deleteRows(0, 2);

移动行

moveRows(rowSpec, destinationIndex): 将给定范围选定的行移动到 destinationIndex 指示的位置。rowSpec 本身不必准确表示要移动的整行或整组行 — 它选择范围跨越的所有行。

// 以下代码将行 1-2 移动到目标索引 5
// 这会导致这些行变为行 3-4
const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 选择要移动的第 1 行和第 2 行
const rowSpec = sheet.getRange(0,0,2,1);
sheet.moveRows(rowSpec, 5);

隐藏行

hideRow(row): 隐藏指定范围内的行。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 这将隐藏第一行
const range = sheet.getRange(0,0,0,0);
sheet.hideRow(range);

隐藏多行

hideRows(rowIndex, numRows): 隐藏从指定索引开始的一个或多个连续行。此方法使用 0 索引。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 隐藏前三行
sheet.hideRows(0, 3);

取消隐藏行

unhideRow(row): 取消隐藏指定范围内的行。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 如果第一行之前被隐藏,则取消隐藏第一行
const range = sheet.getRange(0,0,0,0);
sheet.unhideRow(range);

显示多行

showRows(rowIndex, numRows): 取消隐藏从指定索引开始的一个或多个连续行。此方法使用 0 索引。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 取消隐藏前三行
sheet.showRows(0, 3);

设置行高

setRowHeight(rowPosition, height): 设置给定行的行高(以像素为单位)。默认情况下,行会扩展以适应单元格内容的大小。如果想要将行强制设置为指定高度,请使用 setRowHeightsForced(startRow, numRows, height)

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 将第一行的高度设置为 200 像素
sheet.setRowHeight(0, 200);

设置多行高度

setRowHeights(startRow, numRows, height): 设置给定行的高度(以像素为单位)。默认情况下,行会扩展以适应单元格内容的大小。如果想要将行强制设置为指定高度,请使用 setRowHeightsForced(startRow, numRows, height)

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 将前三行的高度设置为 20 像素
sheet.setRowHeights(0, 3, 20);

强制设置多行高度

setRowHeightsForced(startRow, numRows, height): 设置给定行的高度(以像素为单位)。默认情况下,行会扩展以适应单元格内容的大小。使用 setRowHeightsForced 时,即使单元格内容高于行高,行也会被强制为指定的高度。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 将前三行的高度设置为 5 像素
sheet.setRowHeightsForced(0, 3, 5);

设置行自定义属性

setRowCustom(custom):设置给定行的自定义属性,在行上存储一个对象 custom, 其中可以放入任何符合 JSON 格式的数据,用于自定义存储一些额外的信息。 更新 custom 数据会覆盖原有的 custom 数据,如果你在更新数据时需要保留原有的 custom 数据,请提前获取到 custom 数据合并成新的数据后再更新。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 设置第一行和第三行的自定义属性
sheet.setRowCustom({
    0: { color: 'red' },
    2: { size: 16 },
});

列 Column

在指定列后插入列

insertColumnAfter(afterPosition): 在指定列位置之后插入一列。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 这将在第一列位置后插入一列
sheet.insertColumnAfter(0);

在指定列前插入列

insertColumnBefore(beforePosition): 在指定列位置之前插入一列。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 这将在第一列位置插入一列
sheet.insertColumnBefore(0);

插入多列

insertColumns(columnIndex, numColumns): 在工作表中从指定位置开始插入一个或多个连续的空白列。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 将所有列移动三位
sheet.insertColumns(0, 3);

在指定列后插入多列

insertColumnsAfter(afterPosition, howMany): 在指定列位置后插入指定数量的列。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 在第一列后插入两列
sheet.insertColumnsAfter(0, 2);

在指定列前插入多列

insertColumnsBefore(beforePosition, howMany): 在指定列位置之前插入若干列。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 这将在第一列之前插入五列
sheet.insertColumnsBefore(0, 5);

删除指定列

deleteColumn(columnPosition): 删除给定列位置处的列。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 列从 0 开始 - 这将删除第一列
sheet.deleteColumn(0);

删除多列

deleteColumns(columnPosition, howMany): 删除从给定列位置开始的若干列。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 列从 0 开始 - 这将删除前两列
sheet.deleteColumns(0, 2);

移动列

moveColumns(columnSpec, destinationIndex): 将给定范围选定的列移动到 destinationIndex 指示的位置。 columnSpec 本身不必准确表示要移动的整列或整组列 - 它会选择范围跨越的所有列。

// 以下代码将 A-B 行移动到目标索引 5。
// 这会导致这些列变成 C-D 列。
const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 选择要移动的 A 列和 B 列。
const columnSpec = sheet.getRange(0,0,1,2);
sheet.moveColumns(columnSpec, 5);

隐藏列

hideColumn(column): 隐藏给定范围内的一列或多列。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 这将隐藏第一列
const range = sheet.getRange(0,0,0,0);
sheet.hideColumn(range);

隐藏多列

hideColumns(columnIndex, numColumns): 隐藏从给定索引开始的一个或多个连续列。此方法使用 0 索引。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 隐藏前三列
sheet.hideColumns(0, 3);

取消隐藏列

unhideColumn(column): 取消隐藏指定范围内的列。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 如果第一列之前被隐藏,则取消隐藏
const range = sheet.getRange(0,0,0,0);
sheet.unhideColumn(range);

显示多列

showColumns(columnIndex, numColumns): 取消隐藏从指定索引开始的一个或多个连续列。此方法使用 0 索引。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 取消隐藏前三列
sheet.showColumns(0, 3);

设置列宽

setColumnWidth(columnPosition, width): 设置指定列的宽度(以像素为单位)。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 将第一列的宽度设置为 200 像素
sheet.setColumnWidth(0, 200);

设置多列宽度

setColumnWidths(startColumn, numColumns, width): 设置指定列的宽度(以像素为单位)。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 将前三列的宽度设置为 200 像素
sheet.setColumnWidths(0, 3, 200);

设置列自定义属性

setColumnCustom(custom): 设置给定列的自定义属性,在列上存储一个对象 custom, 其中可以放入任何符合 JSON 格式的数据,用于自定义存储一些额外的信息。 更新 custom 数据会覆盖原有的 custom 数据,如果你在更新数据时需要保留原有的 custom 数据,请提前获取到 custom 数据合并成新的数据后再更新。

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
 
// 设置第一列和第三列的自定义属性
sheet.setColumnCustom({ 
    0: { color: 'red' },
    2: { size: 16 },
});