API 参考

FOverGridImageBuilder

本 API 页面目前提供英文正文。代码签名与标识符不随界面语言变化。

Access

Access through:

Setup

Register @univerjs/sheets-drawing or a preset that includes it. In plugin mode, import @univerjs/sheets-drawing/facade. Additional methods below require their listed plugin packages. See Facade setup.

@univerjs/sheets-drawing

FOverGridImageBuilder.buildAsync

TypeScript
buildAsync(): Promise<ISheetImage>

Types: ISheetImage · Promise

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.getSource

Get the source of the image

TypeScript
getSource(): string

Returns

The source of the image

Examples

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const images = fWorksheet.getImages()images.forEach((image) => {  console.log(image, image.toBuilder().getSource())})

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.getSourceType

Get the source type of the image

TypeScript
getSourceType(): ImageSourceType

Returns

The source type of the image

Examples

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const images = fWorksheet.getImages()images.forEach((image) => {  console.log(image, image.toBuilder().getSourceType())})

Types: ImageSourceType

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.setAnchorType

Set the anchor type of the image, whether the position and size change with the cell

TypeScript
setAnchorType(anchorType: SheetDrawingAnchorType): FOverGridImageBuilder

Parameters

  • anchorType — Required. The anchor type of the image

Returns

The FOverGridImageBuilder for chaining

Examples

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')// image1 position is start from A6 cell, anchor type is Position.// Only the position of the drawing follows the cell changes. When rows or columns are inserted or deleted, the position of the drawing changes, but the size remains the same.const image1 = await fWorksheet  .newOverGridImage()  .setSource(    'https://avatars.githubusercontent.com/u/61444807?s=48&v=4',    univerAPI.Enum.ImageSourceType.URL,  )  .setColumn(0)  .setRow(5)  .setAnchorType(univerAPI.Enum.SheetDrawingAnchorType.Position)  .buildAsync()// image2 position is start from C6 cell, anchor type is Both.// The size and position of the drawing follow the cell changes. When rows or columns are inserted or deleted, the size and position of the drawing change accordingly.const image2 = await fWorksheet  .newOverGridImage()  .setSource(    'https://avatars.githubusercontent.com/u/61444807?s=48&v=4',    univerAPI.Enum.ImageSourceType.URL,  )  .setColumn(2)  .setRow(5)  .setAnchorType(univerAPI.Enum.SheetDrawingAnchorType.Both)  .buildAsync()// image3 position is start from E6 cell, anchor type is None.// The size and position of the drawing do not follow the cell changes. When rows or columns are inserted or deleted, the position and size of the drawing remain unchanged.const image3 = await fWorksheet  .newOverGridImage()  .setSource(    'https://avatars.githubusercontent.com/u/61444807?s=48&v=4',    univerAPI.Enum.ImageSourceType.URL,  )  .setColumn(4)  .setRow(5)  .setAnchorType(univerAPI.Enum.SheetDrawingAnchorType.None)  .buildAsync()// insert images into the sheetfWorksheet.insertImages([image1, image2, image3])// after 2 seconds, set the row height of the 5th row to 100px and insert a row before the 5th row.// then observe the position and size changes of the images.setTimeout(() => {  fWorksheet.setRowHeight(5, 100).insertRowBefore(5)}, 2000)

Types: FOverGridImageBuilder · SheetDrawingAnchorType

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.setColumn

Set the horizontal position of the image

TypeScript
setColumn(column: number): FOverGridImageBuilder

Parameters

  • column — Required. The column index of the image start position, start at 0

Returns

The FOverGridImageBuilder for chaining

Examples

TypeScript
// create a new image builder and set image source.// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell.const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const image = await fWorksheet  .newOverGridImage()  .setSource(    'https://avatars.githubusercontent.com/u/61444807?s=48&v=4',    univerAPI.Enum.ImageSourceType.URL,  )  .setColumn(5)  .setRow(5)  .buildAsync()fWorksheet.insertImages([image])

Types: FOverGridImageBuilder

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.setColumnOffset

Set the horizontal offset of the image

TypeScript
setColumnOffset(offset: number): FOverGridImageBuilder

Parameters

  • offset — Required. The column offset of the image start position, pixel unit

Returns

The FOverGridImageBuilder for chaining

Examples

TypeScript
// create a new image builder and set image source.// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell and horizontal offset is 10px.const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const image = await fWorksheet  .newOverGridImage()  .setSource(    'https://avatars.githubusercontent.com/u/61444807?s=48&v=4',    univerAPI.Enum.ImageSourceType.URL,  )  .setColumn(5)  .setRow(5)  .setColumnOffset(10)  .buildAsync()fWorksheet.insertImages([image])

Types: FOverGridImageBuilder

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.setCropBottom

Set the cropping region of the image by defining the bottom edges, thereby displaying the specific part of the image you want.

TypeScript
setCropBottom(bottom: number): FOverGridImageBuilder

Parameters

  • bottom — Required. The number of pixels to crop from the bottom of the image

Returns

The FOverGridImageBuilder for chaining

Examples

TypeScript
// create a new image builder and set image source.// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell, bottom crop is 10px.const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const image = await fWorksheet  .newOverGridImage()  .setSource(    'https://avatars.githubusercontent.com/u/61444807?s=48&v=4',    univerAPI.Enum.ImageSourceType.URL,  )  .setColumn(5)  .setRow(5)  .setCropBottom(10)  .buildAsync()fWorksheet.insertImages([image])

Types: FOverGridImageBuilder

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.setCropLeft

Set the cropping region of the image by defining the left edges, thereby displaying the specific part of the image you want.

TypeScript
setCropLeft(left: number): FOverGridImageBuilder

Parameters

  • left — Required. The number of pixels to crop from the left side of the image

Returns

The FOverGridImageBuilder for chaining

Examples

TypeScript
// create a new image builder and set image source.// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell, left crop is 10px.const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const image = await fWorksheet  .newOverGridImage()  .setSource(    'https://avatars.githubusercontent.com/u/61444807?s=48&v=4',    univerAPI.Enum.ImageSourceType.URL,  )  .setColumn(5)  .setRow(5)  .setCropLeft(10)  .buildAsync()fWorksheet.insertImages([image])

Types: FOverGridImageBuilder

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.setCropRight

Set the cropping region of the image by defining the right edges, thereby displaying the specific part of the image you want.

TypeScript
setCropRight(right: number): FOverGridImageBuilder

Parameters

  • right — Required. The number of pixels to crop from the right side of the image

Returns

The FOverGridImageBuilder for chaining

Examples

TypeScript
// create a new image builder and set image source.// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell, right crop is 10px.const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const image = await fWorksheet  .newOverGridImage()  .setSource(    'https://avatars.githubusercontent.com/u/61444807?s=48&v=4',    univerAPI.Enum.ImageSourceType.URL,  )  .setColumn(5)  .setRow(5)  .setCropRight(10)  .buildAsync()fWorksheet.insertImages([image])

Types: FOverGridImageBuilder

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.setCropTop

Set the cropping region of the image by defining the top edges, thereby displaying the specific part of the image you want.

TypeScript
setCropTop(top: number): FOverGridImageBuilder

Parameters

  • top — Required. The number of pixels to crop from the top of the image

Returns

The FOverGridImageBuilder for chaining

Examples

TypeScript
// create a new image builder and set image source.// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell, top crop is 10px.const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const image = await fWorksheet  .newOverGridImage()  .setSource(    'https://avatars.githubusercontent.com/u/61444807?s=48&v=4',    univerAPI.Enum.ImageSourceType.URL,  )  .setColumn(5)  .setRow(5)  .setCropTop(10)  .buildAsync()fWorksheet.insertImages([image])

Types: FOverGridImageBuilder

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.setHeight

Set the height of the image

TypeScript
setHeight(height: number): FOverGridImageBuilder

Parameters

  • height — Required. The height of the image, pixel unit

Returns

The FOverGridImageBuilder for chaining

Examples

TypeScript
// create a new image builder and set image source.// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell, width is 120px and height is 50px.const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const image = await fWorksheet  .newOverGridImage()  .setSource(    'https://avatars.githubusercontent.com/u/61444807?s=48&v=4',    univerAPI.Enum.ImageSourceType.URL,  )  .setColumn(5)  .setRow(5)  .setWidth(120)  .setHeight(50)  .buildAsync()fWorksheet.insertImages([image])

Types: FOverGridImageBuilder

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.setImage

Set the initial image configuration for the image builder.

TypeScript
setImage(image: ISheetImage): FOverGridImageBuilder

Parameters

  • image — Required. The image configuration

Returns

The FOverGridImageBuilder for chaining

Examples

TypeScript
// create a new image builder and set initial image configuration.// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell.const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const image = await fWorksheet  .newOverGridImage()  .setImage({    drawingId: '123456',    drawingType: univerAPI.Enum.DrawingType.DRAWING_IMAGE,    imageSourceType: univerAPI.Enum.ImageSourceType.BASE64,    source: 'https://avatars.githubusercontent.com/u/61444807?s=48&v=4',    unitId: fWorkbook.getId(),    subUnitId: fWorksheet.getSheetId(),  })  .setColumn(5)  .setRow(5)  .buildAsync()fWorksheet.insertImages([image])

Types: FOverGridImageBuilder · ISheetImage

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.setPlacement

Set an explicit OneCell, TwoCell, or Absolute placement for the image.

This placement takes precedence over the individual row, column, size, and anchor type builder fields. Use bounds inference for an existing transform; use exact markers when a caller explicitly chose cells.

TypeScript
setPlacement(placement: ISheetDrawingPlacementInput): FOverGridImageBuilder

Parameters

  • placement — Required. Exact placement or bounds with an explicit anchor type.

Returns

This builder.

Examples

TypeScript
const sheet = univerAPI.getActiveWorkbook().getActiveSheet()const image = await sheet  .newOverGridImage()  .setSource('https://avatars.githubusercontent.com/u/61444807?s=96&v=4')  .setPlacement({    kind: univerAPI.Enum.SheetDrawingAnchorType.Position,    from: { row: 2, column: 2, rowOffset: 8, columnOffset: 8 },    width: 240,    height: 120,  })  .buildAsync()sheet.insertImages([image])

Infer Position markers from model-space bounds

TypeScript
const sheet = univerAPI.getActiveWorkbook().getActiveSheet()const image = await sheet  .newOverGridImage()  .setSource('https://avatars.githubusercontent.com/u/61444807?s=96&v=4')  .setPlacement({    kind: univerAPI.Enum.SheetDrawingAnchorType.Position,    bounds: { left: 120, top: 80, width: 240, height: 120 },  })  .buildAsync()sheet.insertImages([image])

TwoCell

TypeScript
const sheet = univerAPI.getActiveWorkbook().getActiveSheet()const image = await sheet  .newOverGridImage()  .setSource('https://avatars.githubusercontent.com/u/61444807?s=96&v=4')  .setPlacement({    kind: univerAPI.Enum.SheetDrawingAnchorType.Both,    from: { row: 2, column: 2, rowOffset: 8, columnOffset: 8 },    to: { row: 8, column: 6, rowOffset: 0, columnOffset: 0 },  })  .buildAsync()sheet.insertImages([image])

Absolute

TypeScript
const sheet = univerAPI.getActiveWorkbook().getActiveSheet()const image = await sheet  .newOverGridImage()  .setSource('https://avatars.githubusercontent.com/u/61444807?s=96&v=4')  .setPlacement({    kind: univerAPI.Enum.SheetDrawingAnchorType.None,    left: 640,    top: 96,    width: 240,    height: 120,  })  .buildAsync()sheet.insertImages([image])

Types: FOverGridImageBuilder · ISheetDrawingPlacementInput

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.setRotate

Set the rotation angle of the image

TypeScript
setRotate(angle: number): FOverGridImageBuilder

Parameters

  • angle — Required. Degree of rotation of the image, for example, 90, 180, 270, etc.

Returns

The FOverGridImageBuilder for chaining

Examples

TypeScript
// create a new image builder and set image source.// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell, rotate 90 degrees.const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const image = await fWorksheet  .newOverGridImage()  .setSource(    'https://avatars.githubusercontent.com/u/61444807?s=48&v=4',    univerAPI.Enum.ImageSourceType.URL,  )  .setColumn(5)  .setRow(5)  .setRotate(90)  .buildAsync()fWorksheet.insertImages([image])

Types: FOverGridImageBuilder

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.setRow

Set the vertical position of the image

TypeScript
setRow(row: number): FOverGridImageBuilder

Parameters

  • row — Required. The row index of the image start position, start at 0

Returns

The FOverGridImageBuilder for chaining

Examples

TypeScript
// create a new image builder and set image source.// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell.const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const image = await fWorksheet  .newOverGridImage()  .setSource(    'https://avatars.githubusercontent.com/u/61444807?s=48&v=4',    univerAPI.Enum.ImageSourceType.URL,  )  .setColumn(5)  .setRow(5)  .buildAsync()fWorksheet.insertImages([image])

Types: FOverGridImageBuilder

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.setRowOffset

Set the vertical offset of the image

TypeScript
setRowOffset(offset: number): FOverGridImageBuilder

Parameters

  • offset — Required. The row offset of the image start position, pixel unit

Returns

The FOverGridImageBuilder for chaining

Examples

TypeScript
// create a new image builder and set image source.// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell and vertical offset is 10px.const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const image = await fWorksheet  .newOverGridImage()  .setSource(    'https://avatars.githubusercontent.com/u/61444807?s=48&v=4',    univerAPI.Enum.ImageSourceType.URL,  )  .setColumn(5)  .setRow(5)  .setRowOffset(10)  .buildAsync()fWorksheet.insertImages([image])

Types: FOverGridImageBuilder

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.setSource

Set the source of the image. The source type defaults to URL.

TypeScript
setSource(source: string): FOverGridImageBuildersetSource(source: string, sourceType?: ImageSourceType): FOverGridImageBuilder

Parameters

  • source — Required. The source of the image
  • sourceType — Optional. The source type of the image, default is URL

Returns

The FOverGridImageBuilder for chaining

Examples

TypeScript
// create a new image builder and set image source.// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell.const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const image = await fWorksheet  .newOverGridImage()  .setSource(    'https://avatars.githubusercontent.com/u/61444807?s=48&v=4',    univerAPI.Enum.ImageSourceType.URL,  )  .setColumn(5)  .setRow(5)  .buildAsync()fWorksheet.insertImages([image])

Types: FOverGridImageBuilder · ImageSourceType

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.setSubUnitId

TypeScript
setSubUnitId(subUnitId: string): FOverGridImageBuilder

Parameters

  • subUnitId — Required.

Types: FOverGridImageBuilder

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.setUnitId

TypeScript
setUnitId(unitId: string): FOverGridImageBuilder

Parameters

  • unitId — Required.

Types: FOverGridImageBuilder

Package: @univerjs/sheets-drawing · Type definitions

FOverGridImageBuilder.setWidth

Set the width of the image

TypeScript
setWidth(width: number): FOverGridImageBuilder

Parameters

  • width — Required. The width of the image, pixel unit

Returns

The FOverGridImageBuilder for chaining

Examples

TypeScript
// create a new image builder and set image source.// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell, width is 120px and height is 50px.const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const image = await fWorksheet  .newOverGridImage()  .setSource(    'https://avatars.githubusercontent.com/u/61444807?s=48&v=4',    univerAPI.Enum.ImageSourceType.URL,  )  .setColumn(5)  .setRow(5)  .setWidth(120)  .setHeight(50)  .buildAsync()fWorksheet.insertImages([image])

Types: FOverGridImageBuilder

Package: @univerjs/sheets-drawing · Type definitions

你觉得这篇文档如何?

© 2026 DreamNum Co., Ltd.