lanyunfei il y a 7 mois
Parent
commit
f115999d3f
3 fichiers modifiés avec 16 ajouts et 7 suppressions
  1. 2 0
      README.md
  2. 8 4
      dist/ExcelUtil.js
  3. 6 3
      src/ExcelUtil.ts

+ 2 - 0
README.md

@@ -20,3 +20,5 @@ t  字符串 Text
 n 数字 number
 a 数组 array
 u 查重 uniq
+k 当前表的key
+z 允许'0'字符串,字符串数组会去掉’0’

+ 8 - 4
dist/ExcelUtil.js

@@ -85,7 +85,7 @@ var ExcelUtil = /** @class */ (function () {
                 var type = '';
                 var isUniq = false; // 重复的行
                 var isArray = false; // 是否是数组
-                var canZeroStr = false; // 是否允许为0的字符串
+                var canZeroStr = false; // 是否允许字符串数据为'0'
                 if (ls != -1 && le != -1 && le > ls + 1) {
                     var s = name_1.substring(ls + 1, le);
                     name_1 = name_1.substring(0, ls);
@@ -191,9 +191,9 @@ var ExcelUtil = /** @class */ (function () {
                         ret += oneUnit;
                     }
                     else {
-                        if (!canZeroStr && oneUnit.toString() == '0')
-                            oneUnit = '';
-                        ret += "'".concat(oneUnit, "'"); // 支持字符串数组
+                        if ((canZeroStr && oneUnit.toString() == '0') || oneUnit.toString() != '0') {
+                            ret += "'".concat(oneUnit, "'"); // 支持字符串数组
+                        }
                     }
                     if (oneIndex != oneArr.length - 1) {
                         ret += ', ';
@@ -249,6 +249,10 @@ var ExcelUtil = /** @class */ (function () {
                         headInfo.keys[i].type = 'string[]';
                         temp = this.tryGetArray(temp, isMultArr[i], false, headInfo.keys[i].canZeroStr);
                     }
+                    else {
+                        if (!headInfo.keys[i].canZeroStr && temp == '0')
+                            temp = '';
+                    }
                 }
                 cobj[headInfo.keys[i].name] = temp;
             }

+ 6 - 3
src/ExcelUtil.ts

@@ -89,7 +89,7 @@ export default class ExcelUtil {
                 let type = ''
                 let isUniq = false      // 重复的行
                 let isArray = false     // 是否是数组
-                let canZeroStr = false     // 是否允许为0的字符串
+                let canZeroStr = false     // 是否允许字符串数据为'0'
                 if (ls != -1 && le != -1 && le > ls + 1) {
                     let s = name.substring(ls + 1, le)
                     name = name.substring(0, ls)
@@ -183,8 +183,9 @@ export default class ExcelUtil {
                     if (MathUtil.isNumber(oneUnit) && isNumber) {
                         ret += oneUnit
                     } else {
-                        if (!canZeroStr && oneUnit.toString() == '0') oneUnit = ''
-                        ret += `'${oneUnit}'`	// 支持字符串数组
+                        if ((canZeroStr && oneUnit.toString() == '0') || oneUnit.toString() != '0') {
+                            ret += `'${oneUnit}'`	// 支持字符串数组
+                        }
                     }
                     if (oneIndex != oneArr.length - 1) {
                         ret += ', '
@@ -237,6 +238,8 @@ export default class ExcelUtil {
                     if (isArray[i]) {
                         headInfo.keys[i].type = 'string[]'
                         temp = this.tryGetArray(temp, isMultArr[i], false, headInfo.keys[i].canZeroStr)
+                    } else {
+                        if (!headInfo.keys[i].canZeroStr && temp == '0') temp = ''
                     }
                 }
                 cobj[headInfo.keys[i].name] = temp