Skip to content
Mog is in active development. The GitHub repo, SDK packages, and community channels are not yet available. Follow for launch updates

ws.charts

WorksheetCharts

50 methods

add

Promise<string>
add(config: ChartConfig): Promise<string>;
ParameterTypeRequired
configChartConfigrequired

Add a chart to the sheet. Returns the chart ID.

get

Promise<Chart | null>
get(chartId: string): Promise<Chart | null>;
ParameterTypeRequired
chartIdstringrequired

Get a chart by ID, or null if not found.

update

Promise<void>
update(chartId: string, updates: Partial<ChartConfig>): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
updatesPartial<ChartConfig>required

Update a chart's configuration.

remove

Promise<void>
remove(chartId: string): Promise<void>;
ParameterTypeRequired
chartIdstringrequired

Remove a chart by ID.

list

Promise<Chart[]>
list(): Promise<Chart[]>;

List all charts in the sheet.

duplicate

Promise<string>
duplicate(chartId: string): Promise<string>;
ParameterTypeRequired
chartIdstringrequired

Duplicate a chart, offsetting the copy by 2 rows. Returns the new chart ID.

exportImage

Promise<string>
exportImage(chartId: string, options?: ImageExportOptions): Promise<string>;
ParameterTypeRequired
chartIdstringrequired
optionsImageExportOptionsoptional

Export a chart as an image. Note: This is a stub — actual rendering requires a canvas context. The bridge integration will be wired in Wave 4.

setDataRange

Promise<void>
setDataRange(chartId: string, range: string): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
rangestringrequired

Set a chart's data range (A1 notation).

setType

Promise<void>
setType(chartId: string, type: ChartType, subType?: string): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
typeChartTyperequired
subTypestringoptional

Set a chart's type and optional sub-type.

getCount

Promise<number>
getCount(): Promise<number>;

Get the total number of charts on this sheet.

getByName

Promise<Chart | null>
getByName(name: string): Promise<Chart | null>;
ParameterTypeRequired
namestringrequired

Find a chart by its name, or null if not found.

bringToFront

Promise<void>
bringToFront(chartId: string): Promise<void>;
ParameterTypeRequired
chartIdstringrequired

Bring a chart to the front (highest z-index).

sendToBack

Promise<void>
sendToBack(chartId: string): Promise<void>;
ParameterTypeRequired
chartIdstringrequired

Send a chart to the back (lowest z-index).

bringForward

Promise<void>
bringForward(chartId: string): Promise<void>;
ParameterTypeRequired
chartIdstringrequired

Bring a chart forward by one layer.

sendBackward

Promise<void>
sendBackward(chartId: string): Promise<void>;
ParameterTypeRequired
chartIdstringrequired

Send a chart backward by one layer.

linkToTable

Promise<void>
linkToTable(chartId: string, tableId: string): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
tableIdstringrequired

Link a chart to a table so it auto-updates with the table's data.

unlinkFromTable

Promise<void>
unlinkFromTable(chartId: string): Promise<void>;
ParameterTypeRequired
chartIdstringrequired

Unlink a chart from its source table.

isLinkedToTable

Promise<boolean>
isLinkedToTable(chartId: string): Promise<boolean>;
ParameterTypeRequired
chartIdstringrequired

Check whether a chart is linked to a table.

addSeries

Promise<number>
addSeries(chartId: string, config: SeriesConfig): Promise<number>;
ParameterTypeRequired
chartIdstringrequired
configSeriesConfigrequired

Add a data series to a chart. Returns the new series index.

removeSeries

Promise<void>
removeSeries(chartId: string, index: number): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
indexnumberrequired

Remove a data series by index.

getSeries

Promise<SeriesConfig>
getSeries(chartId: string, index: number): Promise<SeriesConfig>;
ParameterTypeRequired
chartIdstringrequired
indexnumberrequired

Get a data series by index.

updateSeries

Promise<void>
updateSeries(chartId: string, index: number, updates: Partial<SeriesConfig>): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
indexnumberrequired
updatesPartial<SeriesConfig>required

Update a data series at the given index.

getSeriesCount

Promise<number>
getSeriesCount(chartId: string): Promise<number>;
ParameterTypeRequired
chartIdstringrequired

Get the number of data series in a chart.

reorderSeries

Promise<void>
reorderSeries(chartId: string, fromIndex: number, toIndex: number): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
fromIndexnumberrequired
toIndexnumberrequired

Reorder a series from one index to another.

setSeriesValues

Promise<void>
setSeriesValues(chartId: string, index: number, range: string): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
indexnumberrequired
rangestringrequired

Set the values range for a series (A1 notation).

setSeriesCategories

Promise<void>
setSeriesCategories(chartId: string, index: number, range: string): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
indexnumberrequired
rangestringrequired

Set the categories range for a series (A1 notation).

formatPoint

Promise<void>
formatPoint(
    chartId: string,
    seriesIndex: number,
    pointIndex: number,
    format: { fill?: string; border?: ChartBorder },
  ): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
seriesIndexnumberrequired
pointIndexnumberrequired
format{ fill?: string; border?: ChartBorder }required

Format an individual data point within a series.

setPointDataLabel

Promise<void>
setPointDataLabel(
    chartId: string,
    seriesIndex: number,
    pointIndex: number,
    config: DataLabelConfig,
  ): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
seriesIndexnumberrequired
pointIndexnumberrequired
configDataLabelConfigrequired

Set the data label configuration for an individual data point.

addTrendline

Promise<number>
addTrendline(
    chartId: string,
    seriesIndex: number,
    config: TrendlineConfig,
  ): Promise<number>;
ParameterTypeRequired
chartIdstringrequired
seriesIndexnumberrequired
configTrendlineConfigrequired

Add a trendline to a series. Returns the new trendline index.

removeTrendline

Promise<void>
removeTrendline(
    chartId: string,
    seriesIndex: number,
    trendlineIndex: number,
  ): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
seriesIndexnumberrequired
trendlineIndexnumberrequired

Remove a trendline from a series by index.

getTrendline

Promise<TrendlineConfig | null>
getTrendline(
    chartId: string,
    seriesIndex: number,
    trendlineIndex: number,
  ): Promise<TrendlineConfig | null>;
ParameterTypeRequired
chartIdstringrequired
seriesIndexnumberrequired
trendlineIndexnumberrequired

Get a trendline configuration by index, or null if not found.

getTrendlineCount

Promise<number>
getTrendlineCount(chartId: string, seriesIndex: number): Promise<number>;
ParameterTypeRequired
chartIdstringrequired
seriesIndexnumberrequired

Get the number of trendlines on a series.

getDataTable

Promise<DataTableConfig | null>
getDataTable(chartId: string): Promise<DataTableConfig | null>;
ParameterTypeRequired
chartIdstringrequired

Get the chart's data table configuration, or null if none.

getItemAt

Promise<Chart | null>
getItemAt(index: number): Promise<Chart | null>;
ParameterTypeRequired
indexnumberrequired

Get a chart by its positional index, or null if out of range.

setBubbleSizes

Promise<void>
setBubbleSizes(chartId: string, seriesIndex: number, range: string): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
seriesIndexnumberrequired
rangestringrequired

Set the bubble sizes range for a series (A1 notation).

onActivated

void }
onActivated(handler: (args: { chartId: string }) => void): { dispose(): void };
ParameterTypeRequired
handler(args: { chartId: string }) => void): { dispose(required

Register a handler for chart activation events. Returns a disposable.

onDeactivated

void }
onDeactivated(handler: (args: { chartId: string }) => void): { dispose(): void };
ParameterTypeRequired
handler(args: { chartId: string }) => void): { dispose(required

Register a handler for chart deactivation events. Returns a disposable.

getAxisItem

Promise<SingleAxisConfig | null>
getAxisItem(
    chartId: string,
    type: 'category' | 'value' | 'series',
    group: 'primary' | 'secondary',
  ): Promise<SingleAxisConfig | null>;
ParameterTypeRequired
chartIdstringrequired
type'category' | 'value' | 'series'required
group'primary' | 'secondary'required

Get an axis by OfficeJS type/group identifiers.

setAxisTitle

Promise<void>
setAxisTitle(chartId: string, axisType: 'category' | 'value', formula: string): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
axisType'category' | 'value'required
formulastringrequired

Set axis title from a formula string.

setCategoryNames

Promise<void>
setCategoryNames(chartId: string, range: string): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
rangestringrequired

Set category axis labels from a cell range (A1 notation).

getSeriesDimensionValues

Promise<(string | number)[]>
getSeriesDimensionValues(
    chartId: string,
    seriesIndex: number,
    dimension: ChartSeriesDimension,
  ): Promise<(string | number)[]>;
ParameterTypeRequired
chartIdstringrequired
seriesIndexnumberrequired
dimensionChartSeriesDimensionrequired

Get computed values for a series dimension.

getSeriesDimensionDataSourceString

Promise<string>
getSeriesDimensionDataSourceString(
    chartId: string,
    seriesIndex: number,
    dimension: ChartSeriesDimension,
  ): Promise<string>;
ParameterTypeRequired
chartIdstringrequired
seriesIndexnumberrequired
dimensionChartSeriesDimensionrequired

Get the range/formula string for a series dimension.

getSeriesDimensionDataSourceType

Promise<string>
getSeriesDimensionDataSourceType(
    chartId: string,
    seriesIndex: number,
    dimension: ChartSeriesDimension,
  ): Promise<string>;
ParameterTypeRequired
chartIdstringrequired
seriesIndexnumberrequired
dimensionChartSeriesDimensionrequired

Get the data source type for a series dimension ('range' | 'literal' | 'formula').

getDataLabelSubstring

Promise<ChartFormatString>
getDataLabelSubstring(
    chartId: string,
    seriesIndex: number,
    pointIndex: number,
    start: number,
    length: number,
  ): Promise<ChartFormatString>;
ParameterTypeRequired
chartIdstringrequired
seriesIndexnumberrequired
pointIndexnumberrequired
startnumberrequired
lengthnumberrequired

Get a rich text substring from a data label.

setDataLabelHeight

Promise<void>
setDataLabelHeight(
    chartId: string,
    seriesIndex: number,
    pointIndex: number,
    value: number,
  ): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
seriesIndexnumberrequired
pointIndexnumberrequired
valuenumberrequired

Set the height of a data label.

setDataLabelWidth

Promise<void>
setDataLabelWidth(
    chartId: string,
    seriesIndex: number,
    pointIndex: number,
    value: number,
  ): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
seriesIndexnumberrequired
pointIndexnumberrequired
valuenumberrequired

Set the width of a data label.

getDataLabelTailAnchor

Promise<{ row: number; col: number }>
getDataLabelTailAnchor(
    chartId: string,
    seriesIndex: number,
    pointIndex: number,
  ): Promise<{ row: number; col: number }>;
ParameterTypeRequired
chartIdstringrequired
seriesIndexnumberrequired
pointIndexnumberrequired

Get the tail anchor point for a data label's leader line.

setTitleFormula

Promise<void>
setTitleFormula(chartId: string, formula: string): Promise<void>;
ParameterTypeRequired
chartIdstringrequired
formulastringrequired

Set chart title from a formula string.

getTitleSubstring

Promise<ChartFormatString>
getTitleSubstring(chartId: string, start: number, length: number): Promise<ChartFormatString>;
ParameterTypeRequired
chartIdstringrequired
startnumberrequired
lengthnumberrequired

Get a rich text substring from the chart title.

activate

Promise<void>
activate(chartId: string): Promise<void>;
ParameterTypeRequired
chartIdstringrequired

Activate (select + focus) a chart. Emits 'chart:selected' event and scrolls chart into view.