财务季报评估报表数据提取+自动撰写3.0

财务季报评估报告:济南限额以上企业经营状况分析
该报告详细分析了1-2季度济南市限额以上企业在批发业、零售业、住宿业和餐饮业的经营状况。报告涵盖了企业数量、资产、负债、营业收入、营业成本、税金、费用、利润和增值税等方面的数据,并对比了同比增长或下降情况。通过各项指标的计算,如资产负债率、毛利率等,揭示了各行业的经营特点和变化趋势。
#修改了应交增值税  同比下降单位错误的问题
from docx import Document
from docx.shared import Inches

document = Document()


from openpyxl import load_workbook

'''
@File    :
@Author  :  william
@Time    :  2020/09/29
@notice  :  null
@coding  : utf-8
'''
# import xlrd
# from xlutils.copy import copy
import openpyxl

# 下一步还得训练程序
# 使其满足对excel文件名和excel工作薄的识别
# 记得把表格再粘贴下,转成仅值




ws = 0
row_result = 0
column_result = 0
result = 0

#####################################################################锁定资产负债表和工作薄
# 如下代码用于多个相关表的打开操作
fn = '资产负债表.xlsx'
wb = openpyxl.load_workbook(fn)

ws = wb.get_sheet_by_name('资产负债表')


# print(ws)


def getdate(date_row, date_column):
    # print(date_row)
    # print(date_column)

    for row in ws.iter_rows():
        for cell in row:
            if str(str(cell.value).replace(' ', '')).find(date_row) != -1:
                row_result = cell.row
            # print(row_result)
            else:
                result = 0

                break
    for row in ws.iter_rows():
        for cell in row:
            if str(str(cell.value).replace(' ', '')).find(date_column) != -1:
                column_result = cell.column
                #  print(column_result)

                break
    # print(column_result)
    if row_result == 0 or column_result == 0:
        result = 0

    else:
        if ws.cell(row=row_result, column=column_result).value != None:
            # print(column_result)
            result = ws.cell(row=row_result, column=column_result).value
        # print(result)

    return result


def getdate_lastyear(date_row, date_column):
    # print(date_row)
    # print(date_column)

    for row in ws.iter_rows():
        for cell in row:
            if str(str(cell.value).replace(' ', '')).find(date_row) != -1:
                row_result = cell.row
            # print(row_result)
            else:
                result = 0

                break
    for row in ws.iter_rows():
        for cell in row:
            if str(str(cell.value).replace(' ', '')).find(date_column) != -1:
                column_result = cell.column + 1
                #  print(column_result)

                break
    # print(column_result)
    if row_result == 0 or column_result == 0:
        result = 0

    else:
        if ws.cell(row=row_result, column=column_result).value != None:
            # print(column_result)
            result = ws.cell(row=row_result, column=column_result).value
        # print(result)

    return result


def getspeed(date_row, date_column):
    # print(date_row)
    # print(date_column)

    for row in ws.iter_rows():
        for cell in row:
            if str(str(cell.value).replace(' ', '')).find(date_row) != -1:
                row_result = cell.row
            # print(row_result)
            else:
                result = 0

                break
    for row in ws.iter_rows():
        for cell in row:
            if str(str(cell.value).replace(' ', '')).find(date_column) != -1:
                column_result = cell.column + 2
                #  print(column_result)

                break
    # print(column_result)
    if row_result == 0 or column_result == 0:
        result = 0

    else:
        if ws.cell(row=row_result, column=column_result).value != None:
            # print(column_result)
            result = ws.cell(row=row_result, column=column_result).value
        # print(result)

    return result


if __name__ == '__main__':

    document.add_heading("财务季报评估报告")
    paragraph100 = document.add_paragraph('一、四行业总体情况')

    paragraph101 = document.add_paragraph('1-2季度,济南市财务季报上报单位')
    paragraph101.add_run(str(round(getdate('总计', '企业数'), 1)))
    paragraph101.add_run('个')
    paragraph101.add_run("。其中批发业企业")
    paragraph101.add_run(str(round(getdate('一、批发业', '企业数'), 1)))
    paragraph101.add_run("个,占比")
    paragraph101.add_run(str(round(  (getdate('一、批发业', '企业数')/getdate('总计', '企业数') )*100 , 1)))
    paragraph101.add_run("%;零售业企业")
    paragraph101.add_run(str(round(getdate('二、零售业', '企业数'), 1)))
    paragraph101.add_run("个,占比")
    paragraph101.add_run(str(round(  (getdate('二、零售业', '企业数')/getdate('总计', '企业数') )*100 , 1)))
    paragraph101.add_run("%;住宿业企业")
    paragraph101.add_run(str(round(getdate('三、住宿业', '企业数'), 1)))
    paragraph101.add_run("个,占比")
    paragraph101.add_run(str(round(  (getdate('三、住宿业', '企业数')/getdate('总计', '企业数') )*100 , 1)))
    paragraph101.add_run("%;餐饮业企业")
    paragraph101.add_run(str(round(getdate('四、餐饮业', '企业数'), 1)))
    paragraph101.add_run("个,占比")
    paragraph101.add_run(str(round(  (getdate('四、餐饮业', '企业数')/getdate('总计', '企业数') )*100 , 1)))
    paragraph101.add_run("%。")







    paragraph200 = document.add_paragraph('二、财务数据分析')




    paragraph201 = document.add_paragraph('1、资产情况。1-2季度,全市限额以上企业资产总计')
    paragraph201.add_run(str(round(getdate('总计', '资产总计'), 1)))
    paragraph201.add_run('亿元,')
    if(round(getspeed('总计', '资产总计'), 1) > 0):
        paragraph201.add_run('同比增长')
    else:
        paragraph201.add_run('同比下降')
    paragraph201.add_run(str(round(getspeed('总计', '资产总计'), 1)))
    paragraph201.add_run('%。其中,批发业企业资产总计')
    paragraph201.add_run(str(round(getdate('一、批发业', '资产总计'), 1)))
    paragraph201.add_run('亿元,')
    if(round(getspeed('一、批发业', '资产总计'), 1) > 0):
        paragraph201.add_run('同比增长')
    else:
        paragraph201.add_run('同比下降')
    paragraph201.add_run(str(abs(round(getspeed('一、批发业', '资产总计'), 1))))

    paragraph201.add_run('%;零售业企业资产总计')
    paragraph201.add_run(str(round(getdate('二、零售业', '资产总计'), 1)))
    paragraph201.add_run('亿元,')
#############
    if(round(getspeed('二、零售业', '资产总计'), 1) > 0):
        paragraph201.add_run('同比增长')
    else:
        paragraph201.add_run('同比下降')

    paragraph201.add_run(str(abs(round(getspeed('二、零售业', '资产总计'), 1))))


    paragraph201.add_run('%;住宿业企业资产总计')
    paragraph201.add_run(str(round(getdate('三、住宿业', '资产总计'), 1)))
    paragraph201.add_run('亿元,')

    if(round(getspeed('三、住宿业', '资产总计'), 1) > 0):
        paragraph201.add_run('同比增长')
    else:
        paragraph201.add_run('同比下降')

    paragraph201.add_run(str(abs(round(getspeed('三、住宿业', '资产总计'), 1))))
    paragraph201.add_run('%;餐饮业企业资产总计')
    paragraph201.add_run(str(round(getdate('四、餐饮业', '资产总计'), 1)))
    paragraph201.add_run('亿元,')

    if(round(getspeed('四、餐饮业', '资产总计'), 1) > 0):
        paragraph201.add_run('同比增长')
    else:
        paragraph201.add_run('同比下降')

    paragraph201.add_run(str(abs(round(getspeed('四、餐饮业', '资产总计'), 1))))
    paragraph201.add_run('%。')

###############################################


    paragraph202 = document.add_paragraph('2、负债情况。1-2季度,全市限额以上企业负债合计')
    paragraph202.add_run(str(abs(round(getdate('总计', '负债合计'), 1))))
    paragraph202.add_run('亿元,')

    if(round(getspeed('总计', '负债合计'), 1) > 0):
        paragraph202.add_run('同比增长')
    else:
        paragraph202.add_run('同比下降')

    paragraph202.add_run(str(abs(round(getspeed('总计', '负债合计'), 1))))
    paragraph202.add_run('%。其中,批发业企业负债合计')
    paragraph202.add_run(str(round(getdate('一、批发业', '负债合计'), 1)))
    paragraph202.add_run('亿元,')

    if(round(getspeed('一、批发业', '资产总计'), 1) > 0):
        paragraph202.add_run('同比增长')
    else:
        paragraph202.add_run('同比下降')

    paragraph202.add_run(str(abs(round(getspeed('一、批发业', '负债合计'), 1))))
    paragraph202.add_run('%;零售业企业负债合计')
    paragraph202.add_run(str(round(getdat
【直流微电网】径向直流微电网的状态空间建模与线性化:一种耦合DC-DC变换器状态空间平均模型的方法 (Matlab代码实现)内容概要:本文介绍了径向直流微电网的状态空间建模与线性化方法,重点提出了一种基于耦合DC-DC变换器状态空间平均模型的建模策略。该方法通过对系统中多个相互耦合的DC-DC变换器进行统一建模,构建出整个微电网的集中状态空间模型,并在此基础上实施线性化处理,便于后续的小信号分析与稳定性研究。文中详细阐述了建模过程中的关键步骤,包括电路拓扑分析、状态变量选取、平均化处理以及雅可比矩阵的推导,最终通过Matlab代码实现模型仿真验证,展示了该方法在动态响应分析和控制器设计中的有效性。; 适合人群:具备电力电子、自动控制理论基础,熟悉Matlab/Simulink仿真工具,从事微电网、新能源系统建模与控制研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握直流微电网中多变换器系统的统一建模方法;②理解状态空间平均法在非线性电力电子系统中的应用;③实现系统线性化并用于稳定性分析与控制器设计;④通过Matlab代码复现和扩展模型,服务于科研仿真与教学实践。; 阅读建议:建议读者结合Matlab代码逐步理解建模流程,重点关注状态变量的选择与平均化处理的数学推导,同时可尝试修改系统参数或拓扑结构以加深对模型通用性和适应性的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值