コード例 #1
0
ファイル: QueryDal.py プロジェクト: Hanlen520/family
    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
コード例 #2
0
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)))