Range
Range
区域对象
表示一个单元格、一行、一列、一个包含单个或若干连续单元格区域的选定单元格范围
属性
row
区域的首行行号
语法
range.row
range:区域对象
返回值
row: number
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const row = range.row;
}
column
区域的首列列号
语法
range.column
range:区域对象
返回值
column: number
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const column = range.column;
}
endRow
区域的尾行行号
语法
range.endRow
range:区域对象
返回值
row: number
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const row = range.endRow;
}
endColumn
区域的尾列列号
语法
range.endColumn
range:区域对象
返回值
column: number
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const column = range.endColumn;
}
方法
getSheet
获取区域所在工作表
语法
range.getSheet()
range:区域对象
返回值
sheet: Excel.Sheet
示例
function example(range) {
const sheet = range.getSheet();
}
getCell
获取区域内特定单元格
语法
range.getCell(row, column)
range:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| row | number | 是 | 行号,区域内第几行,起始行号为1 |
| column | number | 是 | 列号,区域内第几列,起始列号为1 |
返回值
cell: Excel.Range
示例
function example(range) {
const cell = range.getCell(1, 2);
}
getRow
获取区域首行
语法
range.getRow()
range:区域对象
返回值
row: Excel.Range
示例
function example(range) {
const row = range.getRow();
}
getColumn
获取区域首列
语法
range.getColumn()
range:区域对象
返回值
column: Excel.Range
示例
function example(range) {
const row = range.getColumn();
}
getEndRow
获取区域尾行
语法
range.getEndRow()
range:区域对象
返回值
row: Excel.Range
示例
function example(range) {
const row = range.getEndRow();
}
getEndColumn
获取区域尾列
语法
range.getEndColumn()
range:区域对象
返回值
column: Excel.Range
示例
function example(range) {
const row = range.getEndColumn();
}
activate
选中区域
语法
range.activate()
range:区域对象
返回值
无
示例
async function example(range) {
await range.activate();
}
getShowValue
获取区域左上角单元格显示内容
语法
range.getShowValue()
range:区域对象
返回值
Promise<string | number | boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const cellValue = await range.getShowValue();
}
getShowValues
获取区域显示内容
语法
range.getShowValues()
range:区域对象
返回值
Promise<string| number | boolean[][]>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const cellValues = await range.getShowValues();
}
getValue
获取区域左上角单元格内容
语法
range.getValue()
range:区域对象
返回值
Promise<string | number | boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const cellValue = await range.getValue();
}
getValues
获取区域内容
语法
range.getValues()
range:区域对象
返回值
Promise<string | number | boolean[][]>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const cellValues = await range.getValues();
}
setValue
设置区域左上角单元格内容
语法
range.setValue(value)
range:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| value | number | string | boolean | 是 | 设置的单元格内容 |
返回值
无
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
await range.setValue(1);
}
setValues
设置区域内容
语法
range.setValues(values)
range:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| values | string|number|boolean[][] | 是 | 设置的区域内容,二维数组 |
返回值
无
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const rowCount = range.endRow - range.row + 1;
const columnCount = range.endColumn - range.column + 1;
const data = [];
for (let i = 0; i < rowCount; i += 1) {
const row = [];
for (let j = 0; j < columnCount; j += 1) {
row.push(1);
}
data.push(row);
}
await range.setValues(data);
}
getRow
获取区域开始行
语法
range.getRow()
range:区域对象
返回值
startRow: Excel.Range
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const startRow = range.getRow();
}
getEndRow
获取区域结束行
语法
range.getEndRow()
range:区域对象
返回值
endRow: Excel.Range
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const endRow = range.getEndRow();
}
getColumn
获取区域开始列
语法
range.getColumn()
range:区域对象
返回值
startColumn: Excel.Range
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const startColumn = range.getColumn();
}
getEndColumn
获取区域结束列
语法
range.getEndColumn()
range:区域对象
返回值
endColumn: Excel.Range
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const endColumn = range.getEndColumn();
}
clearContent
清空区域内容
语法
range.clearContent()
range:区域对象
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.clearContent();
console.log(success);
}
canEdit
返回区域是否可编辑
语法
range.canEdit()
range:区域对象
返回值
Promise<boolean>
- true: 可编辑
- false: 不可编辑
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const isEditable = await range.canEdit();
}
getBackground
获取区左上角单元格背景色
语法
range.getBackground()
range:区域对象
返回值
Promise<string>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const bgColor = await range.getBackground();
}
getBackgrounds
获取区域背景色
语法
range.getBackgrounds()
range:区域对象
返回值
Promise<string[][]>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const bgColors = await range.getBackgrounds();
}
setBackground
设置区域内背景颜色
语法
range.setBackground(color)
range:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| color | string | 是 | 设置颜色 |
返回值
Promise<void>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getRange(2, 3, 2, 4);
await range.setBackground("#000FFF");
}
getFontColor
获取区域左上角单元格字体颜色
语法
range.getFontColor()
range:区域对象
返回值
Promise<string>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const color = await range.getFontColor();
}
getFontColors
获取区域字体颜色
语法
range.getFontColors()
range:区域对象
返回值
Promise<string[][]>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const colors = await range.getFontColors();
}
setFontColor
设置区域内字体颜色
语法
range.setFontColor(color)
range:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| color | string | 是 | 设置颜色 |
返回值
Promise<void>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getRange(2, 3, 2, 4);
await range.setFontColor("#000FFF");
}
merge
合并单元格
语法
range.merge()
range:区域对象
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.merge();
console.log(success);
}
mergeAndCenter
合并后居中
语法
range.mergeAndCenter()
range:区域对象
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.mergeAndCenter();
console.log(success);
}
mergeAcross
跨列合并
语法
range.mergeAcross()
range:区域对象
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.mergeAcross();
console.log(success);
}
getMergedRanges
获取区间内的合并单元格
语法
range.getMergedRanges()
range:区域对象
返回值
Promise<Range[]>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const ret = await range.getMergedRanges();
console.log(ret);
}
getHtml
获取当前范围的HTML格式内容
语法
range.getHtml(dataOnly)
range:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| dataOnly | boolean | 否 | 是否只获取当前范围内数据区域的HTML格式内容,默认为false |
返回值
Promise<string>
示例
async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 获取当前区域
const range = await activeWorksheet.getActiveRange();
// 获取当前区域的HTML格式内容
const htmlStr = await range.getHtml(true);
console.log(htmlStr);
}
setFontFamily
设置字体
语法
range.setFontFamily(fontFamily)
range:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| fontFamily | string | 是 | 'Arial', 'Calibri', 'Comic Sans MS', 'Courier New', 'Georgia', 'Lucida Sans Unicode', 'Tahoma','Times New Roman', 'Trebuchet MS', 'Verdana', '宋体', '黑体', '微软雅黑', '隶书', '幼圆', '华文细黑', '华文楷体', '华文宋体', '华文新魏', '华文隶书', '等线', '仿宋', '楷体', '方正舒体', '方正姚体', |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setFontFamily('微软雅黑');
console.log(success);
}
setFontSize
设置字号
语法
range.setFontSize(fontSize)
range:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| fontSize | number | 是 | fontSize >= 8 && fontSize <= 72 && fontSize值为0.5的整数倍(单位:磅,pt) |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setFontSize(20);
console.log(success);
}
setFontStyle
设置字体样式
语法
range.setFontStyle(fontStyle)
range:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| fontStyle | string | 是 | 'italic', 'bold', 'normal', 'underline', 'strikethrough' |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setFontStyle('italic');
console.log(success);
}
setWrap
设置自动换行
语法
range.setWrap(isWrapEnabled)
range:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| isWrapEnabled | boolean | 是 |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setWrap(true);
console.log(success);
}
setAlignment
设置水平对齐方式
语法
range.setAlignment(alignment)
range:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| alignment | string | 是 | 'left', 'right', 'center' |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setAlignment('right');
console.log(success);
}
setVerticalAlignment
设置垂直对齐方式
语法
range.setVerticalAlignment(alignment)
range:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| alignment | string | 是 | 'top', 'bottom', 'middle' |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setVerticalAlignment('bottom');
console.log(success);
}
setBorder
设置边框
语法
range.setBorder(top, left, bottom, right, vertical, horizontal, color, style)
range:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| top | boolean | 是 | true for border |
| left | boolean | 是 | 同上 |
| bottom | boolean | 是 | 同上 |
| right | boolean | 是 | 同上 |
| vertical | boolean | 是 | 同上 |
| horizontal | boolean | 是 | 同上 |
| color | string | 是 | css语法中的颜色,例如'#ffffff'或者'white',null for black |
| style | Excel.BorderStyle | 是 | 见枚举,边框样式,null for thinsolid |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setBorder(true, true, true, true, true, true, 'red', 'solid');
console.log(success);
}
autoFill
对指定区域中的单元格执行自动填充
语法
range.autoFill(destination, type)
range:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| destination | Range | 是 | 目标区域。目标区域必须包含源区域 |
| type | XlAutoFillType | 否 | 填充类型。默认为Excel.XlAutoFillType.xlFillDefault |
返回值
Promise<void>
示例
async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 区域对象
const range = await activeWorksheet.getRange(1,1,1,3);
// 要填充的区域
const destination = await activeWorksheet.getRange(1,1,10,3);
// 对指定区域中的单元格执行自动填充
await range.autoFill(destination, Excel.XlAutoFillType.xlFillDefault);
}
getDataValidation
获取指定区域的数据验证对象
语法
range.getDataValidation()
range:区域对象
返回值
DataValidation
示例
async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 区域对象
const range = await activeWorksheet.getRange(1,1,1,3);
// 获取数据验证对象
const dataValidation = range.getDataValidation();
}