liuyu 4 년 전
부모
커밋
438bd3a25e
1개의 변경된 파일16개의 추가작업 그리고 12개의 파일을 삭제
  1. 16 12
      app/service/school.js

+ 16 - 12
app/service/school.js

@@ -60,21 +60,18 @@ class SchoolService extends CrudService {
     let exceldata = [];
     const sheetNames = workbook.SheetNames; // 获取表名
     const sheet = workbook.Sheets[sheetNames[0]]; // 通过表名得到表对象
-    console.log();
     // 遍历26个字母
-    const theadRule_ = [];
-    for (const index = 0; index < 26; index++) {
-      console.log(String.fromCharCode((65 + index)));
-      const v_ = String.fromCharCode((65 + index)) + '1';
-      if (sheet.v_) {
-        theadRule_.push(sheet.v_.v);
-      }
+    const theadRule = [];
+    const range = XLSX.utils.decode_range(sheet['!ref']);
+    const col_start = range.s.c;
+    const col_end = range.e.c;
+    for (let i = col_start; i <= col_end; i++) {
+      const addr = XLSX.utils.encode_col(i) + XLSX.utils.encode_row(0);
+      theadRule.push(sheet[addr].v);
     }
-    console.log(theadRule_);
-    const theadRule = [ sheet.A1.v, sheet.B1.v, sheet.C1.v, sheet.D1.v, sheet.E1.v, sheet.F1.v, sheet.G1.v, sheet.H1.v, sheet.I1.v, sheet.J1.v, sheet.K1.v, sheet.L1.v, sheet.M1.v, sheet.N1.v, sheet.O1.v, sheet.P1.v, sheet.Q1.v, sheet.R1.v ];
+    // const theadRule = [ sheet.A1.v, sheet.B1.v, sheet.C1.v, sheet.D1.v, sheet.E1.v, sheet.F1.v, sheet.G1.v, sheet.H1.v, sheet.I1.v, sheet.J1.v, sheet.K1.v, sheet.L1.v, sheet.M1.v, sheet.N1.v, sheet.O1.v, sheet.P1.v, sheet.Q1.v, sheet.R1.v ];
     const params = XLSX.utils.sheet_to_json(sheet); // 通过工具将表对象的数据读出来并转成json
     // const theadRule = [ '序号', '姓名', '性别', '民族', '身份证号', '学校名称', '院系', '专业', '入学年份', '毕业年份', '在校曾担任何种职务', '手机号', 'QQ号', '家庭所在地', '家庭是否困难', '是否获得过助学金' ];
-    console.log();
     if (!params) return [];
     let i = 0;
     const length = params.length;
@@ -82,6 +79,13 @@ class SchoolService extends CrudService {
     let data = {};
     for (i; i < length; i++) {
       data = params[i];
+      const diy_ = [];
+      if (theadRule.length > 18) {
+        for (let j = 18; j < theadRule.length; j++) {
+          const newdata = { itemname: theadRule[j], itemvalue: data[theadRule[j]] };
+          diy_.push(newdata);
+        }
+      }
       _datas.push({
         name: data[theadRule[1]],
         gender: data[theadRule[2]],
@@ -100,7 +104,7 @@ class SchoolService extends CrudService {
         have_grant: data[theadRule[15]],
         edua_level: data[theadRule[16]],
         edua_system: data[theadRule[17]],
-        diy: data[theadRule[18]],
+        diy: diy_,
         termid,
         schid,
         planid,