Django读取EXcel
前端重要代码 
<div class="row">
<div>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file_obj">
<!--  <input type="text" name="project_pk" hidden value="{{ project_pk }}">  -->
<input type="submit" value="提交">
</form>
<span >{{ error }}</span>
</div>
</div>
{% endblock %}
重点是form表前要有enctype="multipart/form-data"字段标识,不然Django后台⽆法识别这个是⽂件类型的数据;上传⽂件的input字段的type类型要是file类型。
再来看views视图处理:
from django.shortcuts import render, redirect, HttpResponse
from django.db import transaction
def import_case(request, pk):
django前端模板""" 导⼊Excel数据,pk是所属项⽬的pk """
hod == 'POST':
try:
with transaction.atomic():  # 事物
# project_pk = ("project_pk")  # 数据库使⽤字段
excel = ('file_obj')
book = xlrd.open_workbook(filename=None, file_ad())
sheet = book.sheet_by_index(0)
title = w_values(0)
for row in range(1, ws):
w_values(row))    # 这⾥取出来每⾏的数据,就可以写⼊到数据库了
return HttpResponse('OK')
except Exception as e:
print(e)
return render(request, 'import_case.html', {"project_pk": pk, "error": "上传⽂件类型有误,只⽀持 xls 和 xlsx 格式的 Excel⽂档"})
return render(request, 'import_case.html', {"project_pk": pk, "error": ""})
see also:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。