Django實現上傳excel文件

html:

千萬不要忘了寫 enctype="multipart/form-data"

<div class="page-container">
        <form  id="upload_form" action="{% url 'examapp:上傳excel' %}" method="POST"
              enctype="multipart/form-data">
            {% csrf_token %}
            <input id="upload" type="file" style="width: 50%" name="file" id="filename">
            <button class="btn" type="button" onclick="Upload()">提交</button>
        </form>
    </div>

通過JS判斷上傳文件是否爲空:

JS:

 function Upload() {
        var fileInput = $('#upload').get(0).files[0];
        console.info(fileInput);
        if (fileInput) {
            $("#upload_form").submit();
        } else {
            alert("請選擇上傳文件!");
        }


    }

view.py:

import padans as pd

import numy as np

def upload_result(request):
    if request.method == 'POST':
        f = request.FILES.get('file')
        excel_type = f.name.split('.')[1]
        if excel_type in ['xlsx', 'xls']:
            user_data = pd.read_excel(f)
             try:
                user_x = user_data.iloc[:, 2:5]  # 特徵值
                return redirect("examapp:展示預測成績")
             except:
                error = '解析excel文件或者數據插入錯誤'
                return render(request, "examsystem/result_predict.html", {"error": error})
        else:
            error = '上傳文件類型錯誤!'
            return render(request, 'examsystem/result_predict.html', {'error': error})

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章