如何使用xlrd将excel文件中的所有行上载到Django模型中

2024-10-02 08:17:06 发布

您现在位置:Python中文网/ 问答频道 /正文

如何修改此代码以接受上载提供的excel工作表中的所有数据行?通常,它只拾取第2行中的值,即在标题之后

def UploadTeacherView(request):
    if request.method == 'POST':
        form = NewTeachersForm(request.POST, request.FILES)
        if form.is_valid():
            excel_file = request.FILES['file']
            fd, path = tempfile.mkstemp()
            try:
                with os.fdopen(fd, 'wb') as tmp:
                    tmp.write(excel_file.read())
                book = xlrd.open_workbook(path)
                sheet = book.sheet_by_index(0)
                obj=TeacherData(
                    school_id = sheet.cell_value(rowx=1, colx=1),
                    code = sheet.cell_value(rowx=1, colx=2),
                    first_name = sheet.cell_value(rowx=1, colx=3),
                    last_name = sheet.cell_value(rowx=1, colx=4),
                    email = sheet.cell_value(rowx=1, colx=5),
                    phone = sheet.cell_value(rowx=1, colx=6),
                )
                obj.save()
            finally:
                os.remove(path)
        else:
            message='Invalid Entries'
    else:
        form = NewTeachersForm()
    return render(request,'new_teacher.html', {'form':form,'message':message})

Tags: pathformmessageifvaluerequestcellfiles

热门问题