From 8e873ca2f3c73ddd7bbef2218d8da82032f66cec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Ovejero?= Date: Tue, 2 Jan 2024 10:07:12 +0100 Subject: [PATCH] fix(Microsoft Excel 365 Node): Ensure arg is string during worksheet table search (#8154) https://n8nio.sentry.io/issues/4748574897 --------- Co-authored-by: Michael Kret --- .../Microsoft/Excel/v2/methods/listSearch.ts | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/nodes-base/nodes/Microsoft/Excel/v2/methods/listSearch.ts b/packages/nodes-base/nodes/Microsoft/Excel/v2/methods/listSearch.ts index b47d49c3c2..fa30a1ead5 100644 --- a/packages/nodes-base/nodes/Microsoft/Excel/v2/methods/listSearch.ts +++ b/packages/nodes-base/nodes/Microsoft/Excel/v2/methods/listSearch.ts @@ -69,7 +69,7 @@ export async function getWorksheetsList( ): Promise { const workbookRLC = this.getNodeParameter('workbook') as IDataObject; const workbookId = workbookRLC.value as string; - let workbookURL = workbookRLC.cachedResultUrl as string; + let workbookURL = (workbookRLC.cachedResultUrl as string) ?? ''; if (workbookURL.includes('1drv.ms')) { workbookURL = `https://onedrive.live.com/edit.aspx?resid=${workbookId}`; @@ -91,7 +91,9 @@ export async function getWorksheetsList( results: (response.value as IDataObject[]).map((worksheet: IDataObject) => ({ name: worksheet.name as string, value: worksheet.id as string, - url: `${workbookURL}&activeCell=${encodeURIComponent(worksheet.name as string)}!A1`, + url: workbookURL + ? `${workbookURL}&activeCell=${encodeURIComponent(worksheet.name as string)}!A1` + : undefined, })), }; } @@ -101,7 +103,7 @@ export async function getWorksheetTables( ): Promise { const workbookRLC = this.getNodeParameter('workbook') as IDataObject; const workbookId = workbookRLC.value as string; - let workbookURL = workbookRLC.cachedResultUrl as string; + let workbookURL = (workbookRLC.cachedResultUrl as string) ?? ''; if (workbookURL.includes('1drv.ms')) { workbookURL = `https://onedrive.live.com/edit.aspx?resid=${workbookId}`; @@ -138,9 +140,12 @@ export async function getWorksheetTables( const [sheetName, sheetRange] = address.split('!' as string); - const url = `${workbookURL}&activeCell=${encodeURIComponent(sheetName as string)}${ - sheetRange ? '!' + (sheetRange as string) : '' - }`; + let url; + if (workbookURL) { + url = `${workbookURL}&activeCell=${encodeURIComponent(sheetName as string)}${ + sheetRange ? '!' + (sheetRange as string) : '' + }`; + } results.push({ name, value, url }); }