作者 xudada

校验XLS文件后缀

@@ -3148,9 +3148,9 @@ Handling Information @@ -3148,9 +3148,9 @@ Handling Information
3148 const AF38 = (worksheet['AF38'] && worksheet['AF38'].v) || ''; 3148 const AF38 = (worksheet['AF38'] && worksheet['AF38'].v) || '';
3149 //判定acc 中是否包含COU 特殊操作代码 3149 //判定acc 中是否包含COU 特殊操作代码
3150 const S10 = (worksheet['S10'] && worksheet['S10'].v) || ''; 3150 const S10 = (worksheet['S10'] && worksheet['S10'].v) || '';
3151 - if (S10.includes("COU")){ 3151 + /*if (S10.includes("COU")){
3152 this.sphCodes += "COU" 3152 this.sphCodes += "COU"
3153 - } 3153 + }*/
3154 3154
3155 const tempDate=this.NumberToDate(M18); 3155 const tempDate=this.NumberToDate(M18);
3156 const outFlightDate=tempDate.split('/')[2]; 3156 const outFlightDate=tempDate.split('/')[2];
@@ -3309,6 +3309,40 @@ Handling Information @@ -3309,6 +3309,40 @@ Handling Information
3309 reader.onload = (e) => { 3309 reader.onload = (e) => {
3310 try { 3310 try {
3311 const data = new Uint8Array(e.target.result); 3311 const data = new Uint8Array(e.target.result);
  3312 + // 检查文件头部以用来确认文件格式
  3313 + const isXLSX =
  3314 + data[0] === 0x50 &&
  3315 + data[1] === 0x4B &&
  3316 + data[2] === 0x03 &&
  3317 + data[3] === 0x04;
  3318 +
  3319 + const isXLS =
  3320 + data[0] === 0xD0 &&
  3321 + data[1] === 0xCF &&
  3322 + data[2] === 0x11 &&
  3323 + data[3] === 0xE0 &&
  3324 + data[4] === 0xA1 &&
  3325 + data[5] === 0xB1 &&
  3326 + data[6] === 0x1A &&
  3327 + data[7] === 0xE1;
  3328 +
  3329 + if (isXLSX) {
  3330 + let file_name = "";
  3331 + if (files.name) {
  3332 + file_name = files.name;
  3333 + }
  3334 + this.$message({
  3335 + type: 'error',
  3336 + message: file_name + '文件是 .xlsx 格式'
  3337 + });
  3338 + } else if (isXLS) {
  3339 + console.log("文件是 .xls 格式");
  3340 + } else {
  3341 + this.$message({
  3342 + type: 'error',
  3343 + message: '未知的 Excel 格式'
  3344 + });
  3345 + }
3312 const workbook = XLSX.read(data, { type: 'array' }); 3346 const workbook = XLSX.read(data, { type: 'array' });
3313 const worksheetName = '格式化打印'; // 指定工作表名称 3347 const worksheetName = '格式化打印'; // 指定工作表名称
3314 const worksheet = workbook.Sheets[worksheetName]; 3348 const worksheet = workbook.Sheets[worksheetName];