XLWT || IndexError at /XLS tuple index out of range Метод запроса : GET

В настоящее время я сталкиваюсь с вышеупомянутой ошибкой при выполнении приведенного ниже кода, который должен печатать в pdf при нажатии на кнопку.

Ниже показано, как вызывается код на html <a href="{% url 'printToXLS' %}" class="btn btn-primary">Print To Excel</a>

Пожалуйста, посмотрите сообщение об ошибке и views.py ниже

Views.py:

def printToXLS(request):
    response = HttpResponse(content_type= 'application/ms-excel')
    response['Content-Disposition']= 'attachment; filename=TrialBalance' + \
        str(datetime.now()) + '.xls'
    wb=xlwt.Workbook(encoding='utf-8')
    ws = wb.add_sheet('TrialBalance')
    row_num = 0
    font_style = xlwt.XFStyle()

    columns = ('Account' , 'Description' , 'Debit' , 'Credit')


    all =  'SELECT Master_Sub_Account , cAccountTypeDescription , Debit , Credit FROM [Kyle].[dbo].[PostGL] AS genLedger'\
                ' Inner JOIN [Kyle].[dbo].[Accounts] '\
                'on Accounts.AccountLink = genLedger.AccountLink '\
                'Inner JOIN [Kyle].[dbo].[_etblGLAccountTypes] as AccountTypes '\
                'on Accounts.iAccountType = AccountTypes.idGLAccountType'\
                ' WHERE genLedger.AccountLink not in (161,162,163,164,165,166,167,168,122)'

    cursor = cnxn.cursor();
    cursor.execute(all);
    xAll = cursor.fetchall()
    cursor.close()
    xAll_l = []
    for row in xAll:
        rdict = {}
        rdict["Description"] = row[0]
        rdict["Account"] = row[1]
        rdict["Credit"] = row[2]
        rdict["Debit"] = row[3]
        xAll_l.append(rdict)

    for col_num in range(len(xAll_l)):
        ws.write(row_num , col_num , columns[col_num] , font_style )

    font_style = xlwt.XFStyle()

    for row in xAll_l:
        row_num += 1

        for col_num in range(len(row)):
            ws.write(row_num , col_num , str(row[col_num]) , font_style)
    wb.save(response)

    return response

Ошибка :

IndexError at /XLS tuple index out of range Метод запроса: GET URL запроса: http://localhost:8000/XLS Django Версия: 3.2 Исключение Тип: IndexError Значение исключения: индекс кортежа вне диапазона Исключение Местоположение: C:\Users\KylePOG\Documents\GMA Programming\accConnect\main\views.py, line 163, in printToXLS Python Исполняемый файл: C:\Users\KylePOG\AppData\Local\Programs\Python\Python39\python.exe Версия Python: 3.9.4 Python Path:
['C:\Users\KylePOG\Documents\GMA Programming\accConnect', 'C:\Users\KylePOG\AppData\Local\Programs\Python\Python39\python39.zip', 'C:\Users\KylePOG\AppData\Local\Programs\Python\Python39\DLLs', 'C:\Users\KylePOG\AppData\Local\Programs\Python\Python39\lib', 'C:\Users\KylePOG\AppData\Local\Programs\Python\Python39', 'C:\Users\KylePOG\AppData\Local\Programs\Python\Python39\lib\site-packages']. Время сервера: Tue, 07 Sep 2021 08:58:12 +0000 Traceback Switch to копирование и вставка C:\Users\KylePOG\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\handlers\exception.py, строка 47, в inner response = get_response(request) ... ▶ Локальные вары C:\Users\KylePOG\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\handlers\base.py, строка 181, в _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) ... ▶ Local vars C:\Users\KylePOG\Documents\GMA Programming\accConnect\main\views.py, line 163, in printToXLS ws.write(row_num , col_num , columns[col_num] , font_style ) ... ▶ Локальные переменные

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