2016-05-15 70 views
2

我有一個允許用戶上傳xlsx文件的django服務器,我想訪問它中的數據。如何閱讀在Django中上傳的xlsx文件?

我知道openpyxl,但是,它看起來像沒有辦法解析打開的文件,我不想將文件保存在磁盤上並再次閱讀。

我該怎麼辦?

+0

你必須編寫自己的代碼的zip壓縮包傳遞到openpyxl。更好地保存在某個地方。 –

回答

2

將其作爲字節流進行閱讀。 This explanation幫我完成同樣的任務 我的解決辦法:

from openpyxl import load_workbook 
    from io import BytesIO 
    ... 
    if request.method == 'POST': 
     form = UploadForm(request.POST, request.FILES) 
     if form.is_valid(): 
      file_in_memory = request.FILES['file'].read() 
      wb = load_workbook(filename=BytesIO(file_in_memory))