赞
踩
1、html
- <div class="panel panel-default">
- <div class="panel-heading">
- <span class="glyphicon glyphicon-th-list" aria-hidden="true"></span>
- 批量上传
- </div>
- <div class="panel-body">
- <form method="post" enctype="multipart/form-data" action="/depart/multi/">
- {% csrf_token %}
- <div class="form-group">
- <input type="file" name="exc">
- </div>
-
- <input type="submit" value="上传" class="btn btn-info btn-sm">
- </form>
- </div>
- </div>

2、url
path('depart/multi/',depart.depart_multi),
3、编写view.py
-
- def depart_multi(request):
- from openpyxl import load_workbook
- # 获取用户上传的文件对象
- file_object = request.FILES.get("exc")
-
- # 对象传给openpyxl,由openpyxl读取文件的内容
- wb = load_workbook(file_object)
- sheet = wb.worksheets[0]
- # 循环获取每一行数据
- for row in sheet.iter_rows(min_row=2):
- text = row[0].value
- # print(text)
- # 重复的不加入
- exists = models.Department.objects.filter(title=text).exists()
- if not exists:
- models.Department.objects.create(title=text)
- # 打印表格中第一行第二列的数据,一定要上传xlsx后缀名的excel表,否则会报错
- # cell = sheet.cell(1, 2)
- # print(cell.value)
- return redirect('/depart/list/')

注:一定要上传xlsx后缀名的excel表,否则会报错
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。