Browse Source

修改用户导入系统

zry 8 years ago
parent
commit
1c17ec0e02
4 changed files with 51 additions and 45 deletions
  1. 6 6
      UserManage/views/user.py
  2. 27 23
      UserManage/xlspasswd.py
  3. 18 16
      UserManage/xlsusers.py
  4. BIN
      static/user.xls

+ 6 - 6
UserManage/views/user.py

@@ -255,14 +255,14 @@ def XLSFileUser(request):
                 for ud in userdata:
                     if ud[0]!=0:
                         try:
-                            t_user=User(username=str(ud[0]),
+                            t_user=User(username=str(ud[1]),
                                      sid=ud[0],
-                                     classid=GroupList.objects.get(classid = ud[4]),
+                                     classid=GroupList.objects.get(classid = ud[5]),
                                      is_active=True,
-                                     nickname=ud[1],
-                                     sex=ud[2],
-                                     birthday=ud[5],
-                                     password=make_password(ud[3], None, "unsalted_md5"),
+                                     nickname=ud[2],
+                                     sex=ud[3],
+                                     birthday=ud[6],
+                                     password=make_password(ud[4], None, "unsalted_md5"),
                                      role=studentrole,
                                      importid = ipid)
                             #t_user.set_password(ud[3])

+ 27 - 23
UserManage/xlspasswd.py

@@ -28,49 +28,53 @@ def GeneratePasswdToXls(FILE):
   data = xlrd.open_workbook(xlsname)
   table = data.sheet_by_index(0)
   head = table.row_values(0)
-  assert len(head)==6
+  assert len(head)==7
   assert head[0].strip()==u'\u5b66\u53f7'
-  assert head[1].strip()==u'\u59d3\u540d'
-  assert head[2].strip()==u'\u6027\u522b'
-  assert head[3].strip()==u'\u5bc6\u7801'
-  assert head[4].strip()==u'\u5206\u7ec4\u53f7'
-  assert head[5].strip()==u'\u751f\u65e5'
+  assert head[1].strip()==u'\u7528\u6237\u540d'
+  assert head[2].strip()==u'\u59d3\u540d'
+  assert head[3].strip()==u'\u6027\u522b'
+  assert head[4].strip()==u'\u5bc6\u7801'
+  assert head[5].strip()==u'\u5206\u7ec4\u53f7'
+  assert head[6].strip()==u'\u751f\u65e5'
 
 
   rwb = xlwt.Workbook(encoding='utf-8')
   rsh = rwb.add_sheet('Sheet1')
 
   rsh.write(0,0,u'\u5b66\u53f7')
-  rsh.write(0,1,u'\u59d3\u540d')
-  rsh.write(0,2,u'\u6027\u522b')
-  rsh.write(0,3,u'\u5bc6\u7801')
-  rsh.write(0,4,u'\u5206\u7ec4\u53f7')
-  rsh.write(0,5,u'\u751f\u65e5')
+  rsh.write(0,1,u'\u7528\u6237\u540d')
+  rsh.write(0,2,u'\u59d3\u540d')
+  rsh.write(0,3,u'\u6027\u522b')
+  rsh.write(0,4,u'\u5bc6\u7801')
+  rsh.write(0,5,u'\u5206\u7ec4\u53f7')
+  rsh.write(0,6,u'\u751f\u65e5')
   for i in range(table.nrows-1):
     col = table.row_values(i+1)
+    username=col[1]
     sid=str(int(col[0]))
-    name=process_cell(table,i+1,1)
-    sex=col[2]
+    name=process_cell(table,i+1,2)
+    sex=col[3]
     password=randompass()
-    cid=str(int(col[4]))
+    cid=str(int(col[5]))
 
-    if table.cell(i+1,5).ctype==3:
-      birthday = datetime.date(*xlrd.xldate_as_tuple(table.cell(i+1,5).value,data.datemode)[:3])
+    if table.cell(i+1,6).ctype==3:
+      birthday = datetime.date(*xlrd.xldate_as_tuple(table.cell(i+1,6).value,data.datemode)[:3])
     else:
       try:
-        birthday = datetime.datetime.strptime(process_cell(table,i+1,5), "%Y-%m-%d").date()
+        birthday = datetime.datetime.strptime(process_cell(table,i+1,6), "%Y-%m-%d").date()
       except:
         try:
-          birthday = datetime.datetime.strptime(process_cell(table,i+1,5), "%Y%m%d").date()
+          birthday = datetime.datetime.strptime(process_cell(table,i+1,6), "%Y%m%d").date()
         except:
           pass
     
     rsh.write(i+1,0,sid)
-    rsh.write(i+1,1,name)
-    rsh.write(i+1,2,sex)
-    rsh.write(i+1,3,password)
-    rsh.write(i+1,4,cid)
-    rsh.write(i+1,5,birthday.strftime('%Y%m%d'))
+    rsh.write(i+1,1,username)
+    rsh.write(i+1,2,name)
+    rsh.write(i+1,3,sex)
+    rsh.write(i+1,4,password)
+    rsh.write(i+1,5,cid)
+    rsh.write(i+1,6,birthday.strftime('%Y%m%d'))
   rwb.save(wrxlspath)
   return wrxlsname
     

+ 18 - 16
UserManage/xlsusers.py

@@ -22,13 +22,14 @@ def processxls(FILE):
   data = xlrd.open_workbook(xlsname)
   table = data.sheet_by_index(0)
   head = table.row_values(0)
-  assert len(head)==6
+  assert len(head)==7
   assert head[0].strip()==u'\u5b66\u53f7'
-  assert head[1].strip()==u'\u59d3\u540d'
-  assert head[2].strip()==u'\u6027\u522b'
-  assert head[3].strip()==u'\u5bc6\u7801'
-  assert head[4].strip()==u'\u5206\u7ec4\u53f7'
-  assert head[5].strip()==u'\u751f\u65e5'
+  assert head[1].strip()==u'\u7528\u6237\u540d'
+  assert head[2].strip()==u'\u59d3\u540d'
+  assert head[3].strip()==u'\u6027\u522b'
+  assert head[4].strip()==u'\u5bc6\u7801'
+  assert head[5].strip()==u'\u5206\u7ec4\u53f7'
+  assert head[6].strip()==u'\u751f\u65e5'
 
 
 
@@ -36,22 +37,23 @@ def processxls(FILE):
   for i in range(table.nrows-1):
     col = table.row_values(i+1)
     sid=str(int(col[0]))
-    name=process_cell(table,i+1,1)
-    sex=col[2]
-    password=process_cell(table,i+1,3)
-    cid=str(int(col[4]))
-
-    if table.cell(i+1,5).ctype==3:
-      birthday = datetime.date(*xlrd.xldate_as_tuple(table.cell(i+1,5).value,data.datemode)[:3])
+    username=col[1]
+    name=process_cell(table,i+1,2)
+    sex=col[3]
+    password=process_cell(table,i+1,4)
+    cid=str(int(col[5]))
+
+    if table.cell(i+1,6).ctype==3:
+      birthday = datetime.date(*xlrd.xldate_as_tuple(table.cell(i+1,6).value,data.datemode)[:3])
     else:
       try:
-        birthday = datetime.datetime.strptime(process_cell(table,i+1,5), "%Y-%m-%d").date()
+        birthday = datetime.datetime.strptime(process_cell(table,i+1,6), "%Y-%m-%d").date()
       except:
         try:
-          birthday = datetime.datetime.strptime(process_cell(table,i+1,5), "%Y%m%d").date()
+          birthday = datetime.datetime.strptime(process_cell(table,i+1,6), "%Y%m%d").date()
         except:
           pass
           #raise "Error xls!"
-    rets.append((sid,name,sex,password,cid,birthday))
+    rets.append((sid,username,name,sex,password,cid,birthday))
   return rets
 

BIN
static/user.xls