PyQt5运行查询MYsql后导出Excel出错并窗口闪退

问题遇到的现象和发生背景
         PyQt5运行查询MYsql后导出Excel出错并窗口闪退,请大佬帮忙看看哪里错了?
问题相关部分代码
    def saveFile(self):
    file, ok = QFileDialog.getSaveFileName(self, "文件保存", "F:/", "Excel 97-2003 工作簿(*.xls)")
    if file != '':
        if 'xls' in file:
            count = self.cur.execute(self.sql_order)
            self.cur.scroll(0, mode='absolute')
            results = self.cur.fetchall()
            fields = self.cur.description
            workbook = xlwt.Workbook()
            sheet = workbook.add_sheet('table_' + self.table_name, cell_overwrite_ok=True)
            for field in range(len(fields)):
                sheet.write(0, field, fields[field][0])
            row = 1
            col = 0
            for row in range(1, len(results) + 1):
                for col in range(len(fields)):
                    sheet.write(row, col, '%s' % results[row - 1][col])
            workbook.save(file)
            print('文件已保存至%s' % file)
        
运行结果及报错内容
         Traceback (most recent call last):
         File "F:\XXX\XXXXX.py", line 339, in saveFile
         count = self.cur.execute(self.sql_order)
         AttributeError: 'MyWindow' object has no attribute 'sql_order'

         进程已结束,退出代码-1073740791 (0xC0000409)
我的解答思路和尝试过的方法
我想要达到的结果

报错信息很清楚了
self.sql_order这个变量不存在,没定义
你最好把查询和写入分开成2个方法,一来解耦,更方便复用;二来也更容易排查到底是哪个步骤出了问题
不要把原本不相干的工作都塞到一个函数里面执行