获取查询到的数据写入Excel文件中,返回下载的路径

    # 获取查询的数据写入excel文件中,返回下载的路径
    def download_PN_list(self, model, pn, pn_type):
        try:
            pn_data = self.PN_list(model, pn, pn_type)
            df = pd.DataFrame(pn_data)

            now_time = datetime.datetime.now()
            file_time = now_time.strftime(r'%Y%m%d%H%M%S')
            file_path = 'static/download/DN'
            logging.warning('文件保存路径file_path' + file_path)
            if not os.path.exists(file_path):
                os.makedirs(file_path)
            else:
                pass
            file_name = file_path + '/' + file_time + 'PN List.xlsx'
            writer = pd.ExcelWriter(file_name, engine='xlsxwriter')
            df.to_excel(writer, sheet_name='Sheet1', index=False)
            worksheet = writer.sheets['Sheet1']
            # 设置excel文件的列宽
            worksheet.set_column("A:A", 6.71)
            worksheet.set_column('B:B', 16)
            worksheet.set_column('C:C', 14.86)
            worksheet.set_column('D:D', 14.71)
            worksheet.set_column('E:E', 12.43)
            worksheet.set_column('F:F', 9.43)
            worksheet.set_column('G:G', 51.71)
            worksheet.set_column('H:H', 57.14)
            worksheet.set_column('I:I', 15.86)
            worksheet.set_column('J:J', 16)
            worksheet.set_column('K:K', 15.14)
            worksheet.set_column('L:L', 9.86)
            writer.save()
            return file_name

        except Exception as e:
            logging.exception(traceback.print_exc())
            logging.warning("异常错误:{}".format(str(e)))
            return ApiResponse.emitErrorOutput(E_ILLEGAL_OPERATION, "文件写入失败", "download_PN_list")

 

posted @ 2021-10-15 10:38  这世界我来过  阅读(93)  评论(0)    收藏  举报