def query_queryByCode(self, code, pageIndex, pageSize, criterion, where): sql, cfg, msg = self.query_GetSqlByCode(code, criterion, where) if not msg.IsSuccess: return sql, msg relist = db.session.execute(sql) num = relist.rowcount relist.close() if pageIndex < 1: pageSize = 1 if pageSize < 1: pageSize = 10 # 最大页码 max_page = math.ceil(num / pageSize) # 向上取整 if pageIndex > max_page: return None, AppReturnDTO(True, num) pageSql = "{0} LIMIT {1},{2}".format(sql, (pageIndex - 1) * pageSize, pageSize) allData, msg = Fun.sql_to_dict(pageSql) if msg.IsSuccess: msg.Msg = num # relist = relist.paginate(pageIndex, per_page=pageSize).items return allData, msg
def view_export(): """ 导出EXCEL文件 """ j_data = request.json if j_data is None: return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有误")) in_ent = RequestPagesModel(j_data) _modele = QueryDal() sql, cfg, message = _modele.query_GetSqlByCode( in_ent.Key, in_ent.SearchKey, in_ent.OrderBy) if not message.IsSuccess: return Fun.class_to_JsonStr(message) _dict, message = Fun.sql_to_dict(sql) if not message.IsSuccess: return Fun.class_to_JsonStr(message) dirpath = os.path.join(app.root_path, 'download') file_name = "query_{0}.xlsx".format(in_ent.Key) Of.Office.ExportToXls(_dict, cfg, dirpath + "\\" + file_name) # directory = os.getcwd() # 假设在当前目录 # response = make_response( # send_from_directory(directory, file_name, as_attachment=True)) # response.headers["Content-Disposition"] = "attachment; filename={}".format( # file_name.encode().decode('latin-1')) return Fun.class_to_JsonStr( AppReturnDTO(True, "{0}/{1}".format('download', file_name)))