Openpyxl Django

Пытаюсь автоматизировать модификацию файла Ecxel с помощью openpyxl lib и нижеприведенный код работает:

def modify_excel_view(request):
    wb = openpyxl.load_workbook('C:\\my_dir\\filename.xlsx')
    sh1 = wb['Sheet1']
    row = sh1.max_row
    column = sh1.max_column
    for i in range(2, row + 1):
        # ...some_code...
    wb.save('C:\\my_dir\\new_filename.xlsx')
    return render(request, 'my_app/convert.html', {'wb': wb})

  1. Но как реализовать подобный метод без статического (жесткого кодирования) пути к файлу и имени файла? Например, выбрать xlsx файл из модального окна?

  2. Сохранение измененной копии на рабочем столе по умолчанию? (Может быть как в библиотеке ReportLab: response.write(pdf)=>return response. И сохраняет на рабочем столе по умолчанию.)

    .

Заранее спасибо!

  1. Вы можете отправить путь и имя файла как параметры POST и извлечь их в функции views.py, используя request.POST.get('file_path').

  2. Просто добавьте строку для сохранения копии на рабочем столе перед возвратом.

Вернуться на верх