( basePath: string, address: string | undefined, sheetName?: string )
| 191 | * `/format/fill`, `/format/font`, or nothing for the range object itself. |
| 192 | */ |
| 193 | export function buildWorksheetRangeUrl( |
| 194 | basePath: string, |
| 195 | address: string | undefined, |
| 196 | sheetName?: string |
| 197 | ): string { |
| 198 | const resolved = resolveSheetAndAddress(address, sheetName) |
| 199 | const encodedSheet = encodeURIComponent(escapeODataString(resolved.sheetName)) |
| 200 | const encodedAddress = encodeURIComponent(resolved.address) |
| 201 | return `${basePath}/workbook/worksheets('${encodedSheet}')/range(address='${encodedAddress}')` |
| 202 | } |
| 203 | |
| 204 | export function trimTrailingEmptyRowsAndColumns(matrix: ExcelCellValue[][]): ExcelCellValue[][] { |
| 205 | if (!Array.isArray(matrix) || matrix.length === 0) return [] |
no test coverage detected