/** * Microsoft Excel 365 Node - Version 2.1 * Discriminator: resource=worksheet, operation=upsert */ interface Credentials { microsoftExcelOAuth2Api: CredentialReference; } /** A sheet is a grid of cells which can contain data, tables, charts, etc */ export type MicrosoftExcelV21WorksheetUpsertParams = { resource: 'worksheet'; operation: 'upsert'; /** * Workbook * @default {"mode":"list","value":""} */ workbook?: { __rl: true; mode: 'list' | 'id'; value: string; cachedResultName?: string }; /** * Sheet * @default {"mode":"list","value":""} */ worksheet?: { __rl: true; mode: 'list' | 'id'; value: string; cachedResultName?: string }; /** * Select a Range * @default false */ useRange?: boolean | Expression; /** * The sheet range to read the data from specified using a A1-style notation, has to be specific e.g A1:B5, generic ranges like A:B are not supported. Leave blank to use whole used range in the sheet. * @hint First row must contain column names * @displayOptions.show { dataMode: ["autoMap", "define"], useRange: [true] } */ range?: string | Expression | PlaceholderValue; /** * Data Mode * @default define */ dataMode?: 'autoMap' | 'define' | Expression; /** * Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a> * @hint Used to find the correct row to update. Doesn't get changed. * @displayOptions.show { dataMode: ["autoMap", "define"] } */ columnToMatchOn?: string | Expression; /** * Value of Column to Match On * @displayOptions.show { dataMode: ["define"] } */ valueToMatchOn?: string | Expression | PlaceholderValue; /** * Values to Send * @displayOptions.show { dataMode: ["define"] } * @default {} */ fieldsUi?: { /** Field */ values?: Array<{ /** Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a> */ column?: string | Expression; /** Value */ fieldValue?: string | Expression | PlaceholderValue; }>; }; /** * Options * @default {} */ options?: { /** Whether to append data after the selected range or used range * @displayOptions.show { /dataMode: ["autoMap", "define"], /useRange: [true] } * @default false */ appendAfterSelectedRange?: boolean | Expression; /** Whether the data should be returned RAW instead of parsed into keys according to their header * @default 0 */ rawData?: boolean | Expression; /** The name of the property into which to write the RAW data * @displayOptions.show { rawData: [true] } * @default data */ dataProperty?: string | Expression | PlaceholderValue; /** Whether to update all matching rows or just the first match * @default false */ updateAll?: boolean | Expression; }; }; export type MicrosoftExcelV21WorksheetUpsertNode = { type: 'n8n-nodes-base.microsoftExcel'; version: 2.1; credentials?: Credentials; config: NodeConfig; };