diff --git a/src/utils/execl-utils.ts b/src/utils/execl-utils.ts index 45774aec..928843b6 100644 --- a/src/utils/execl-utils.ts +++ b/src/utils/execl-utils.ts @@ -21,11 +21,19 @@ export const xlsxUrl = `${ */ export async function readLoalXlsx(id: string): Promise[]> { let result = await fetch(`${xlsxUrl}/${id}.xlsx`); - if (result.status !== 200) { + let fileBuffer = await result.arrayBuffer(); + // 判断是否xlsx文件 + const data = new Uint8Array(fileBuffer); + const isXlsxFile = + data[0] === 0x50 && + data[1] === 0x4b && + data[2] === 0x03 && + data[3] === 0x04; + if (!isXlsxFile) { result = await fetch(`${xlsxUrl}/all.xlsx`); + fileBuffer = await result.arrayBuffer(); } - const fileBolb = await result.arrayBuffer(); - return readSheet(fileBolb, 0); + return readSheet(fileBuffer, 0); } /**