From 72419e2f826031a158173f46d723a672064e37cd Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 31 八月 2021 22:42:51 +0800 Subject: [PATCH] 2021-08-31 --- src/tabviews/zshare/actionList/excelInbutton/excelin/index.jsx | 29 ++++++++++++++++++----------- 1 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/tabviews/zshare/actionList/excelInbutton/excelin/index.jsx b/src/tabviews/zshare/actionList/excelInbutton/excelin/index.jsx index 70b0c70..b2c76db 100644 --- a/src/tabviews/zshare/actionList/excelInbutton/excelin/index.jsx +++ b/src/tabviews/zshare/actionList/excelInbutton/excelin/index.jsx @@ -42,36 +42,43 @@ const workbook = XLSX.read(result, { type: 'binary' }) let errors = null + let sheetName = btn.verify.sheet + let errDetail = '' - if (!workbook.Sheets.hasOwnProperty(btn.verify.sheet)) { + if (Object.keys(workbook.Sheets).length === 1) { + sheetName = Object.keys(workbook.Sheets)[0] + } + + if (!workbook.Sheets.hasOwnProperty(sheetName)) { errors = 'notexit' } else if (range === 1) { - let header = XLSX.utils.sheet_to_json(workbook.Sheets[btn.verify.sheet], {header: columns})[0] - + let header = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName], {header: columns})[0] + if (!header) { errors = 'empty' } else { let iserror = false btn.verify.columns.forEach(op => { - if (header[op.Column] !== op.Text) { + let _name = typeof(header[op.Column]) === 'string' ? header[op.Column].replace(/(^\s*|\s*$)/g, '') : header[op.Column] + let _text = op.Text ? op.Text.replace(/(^\s*|\s*$)/g, '') : op.Text + + if (_name !== _text && !iserror) { iserror = true + errors = 'headerError' + errDetail = `Excel涓紙${_name}锛変笌鎸夐挳鍒椾俊鎭紙${_text}锛変笉涓�鑷达紒` } }) - - if (iserror) { - errors = 'headerError' - } } } let data = [] if (!errors) { - data = XLSX.utils.sheet_to_json(workbook.Sheets[btn.verify.sheet], {header: columns, range: (range)}) + data = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName], {header: columns, range: (range)}) } // 鏈�缁堣幏鍙栧埌骞朵笖鏍煎紡鍖栧悗鐨� json 鏁版嵁 - this.props.returndata(data, errors) + this.props.returndata(data, errors, sheetName, errDetail) this.setState({ excelId: '', }, () => { @@ -89,7 +96,7 @@ }) notification.warning({ top: 92, - message: '鏂囦欢瑙f瀽閿欒锛岃妫�鏌ユ枃浠舵牸寮忥紒', + message: '鏂囦欢瑙f瀽閿欒锛�', duration: 5 }) // 閿欒浼犻�� -- Gitblit v1.8.0