创建一个表格,在表格里记录一年中各个月份的支出,为表格设置格式

#! /usr/bin/env python3

# 导入 xlsxwriter 模块
import xlsxwriter

#新建一个excel工作簿文件,取名为: myexcel.xlsx
workbook = xlsxwriter.Workbook('rry.xlsx')

# 新建工作表,命名为'2019年记帐', 不添写名字,默认为Sheet1
worksheet = workbook.add_worksheet('2019年记帐')
worksheet2 = workbook.add_worksheet('2020年记帐')

# 向工作表内的 A1 单元格内 写入文字: '2019年收支表'
worksheet.write('A1', '2019年收支表')

#准备数据
headings=['月份','收入','支出']
month = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月' ]
incomes =[19000, 18000, 20000, 22000, 19000, 18000, 23000, 19000, 20000, 21000, 23000, 30000 ]
payouts = [12000 ,20000 ,8000 ,9000 ,10000 ,30000 ,20000 ,10000 ,5000 ,9000 ,10000 ,15000 ]

# 为表格的头部设置复杂的格式
head_fmt = workbook.add_format({
        'bold': True,  # 设置为粗体
        'bg_color': '#4076CE',  # 设置背景色 #RRGGBB 格式
        'align': 'center',  # 水平对齐为居中
        'valign': 'vcenter',  # 垂直对齐为居中
        'border': 1,  # 单元格四个方向有边框
        'font': '楷体',  # 设置字体为微软雅黑
        'font_size': 12,  # 设置字体大小为12
        'font_color': 'white' # 设置字体颜色 文字表示
    })

# 从 A2 单元格开始向一行单元格内写入多个数据
worksheet.write_row('A2', headings, head_fmt)

# 创建月份部分的格式
month_fmt = workbook.add_format({
        'border': 1,
        'bg_color': '#B8CFEF',
        'align': 'center',
        'font': '宋体',
        'font_size': 11
    })

# 从 A3 单元格开始向一列单元格内写入多个数据
worksheet.write_column('A3', month, month_fmt)

# 加入一个带有边框的格式样式
border_fmt = workbook.add_format({
        'border': 1  # 单元格四个方向有边框
    })

# 写月份部分
worksheet.write_column('B3', incomes, border_fmt)
worksheet.write_column('C3', payouts, border_fmt)

# 将 第B,C两列设置为 14 
worksheet.set_column('B:C', 14)
# 将第1行高度设置为 30 磅(注: 行数是从0开始的)
worksheet.set_row(0, 30)  

# 计算小计
worksheet.write_string('A15', '小计', border_fmt)
worksheet.write_formula('B15', '=SUM(B3:B14)', border_fmt)
worksheet.write_formula('C15', '=SUM(C3:C14)', border_fmt)

# 将左上角为 E3, 右下角为 F6 的单元格合并单元格
worksheet.merge_range('E3:F6','合并后单元格内容') 

# 向C4单元格内写入备注
worksheet.write_comment('C4', '这是我的备注。\n这笔支出不能告诉任何人')

# #添加柱状图
chart1 = workbook.add_chart({'type':'column'})

chart1.add_series({
    'name':'=2019年记帐!$B$2',#图例项
    'categories':'=2019年记帐!$A$3:$A$14',#X轴 Item名称
    'values':'=2019年记帐!$B$3:$B$14'#X轴Item值
})
chart1.add_series({
    'name':'=2019年记帐!$C$2',
    # 'categories':'=2019年记帐!$A$2:$A$4',
    'values':'=2019年记帐!$C$3:$C$14'
})
#添加柱状图标题
chart1.set_title({'name':'柱状图'})
#Y轴名称
chart1.set_y_axis({'name':'收入/支出'})
#X轴名称
chart1.set_x_axis({'name':'月份'})
#图表样式
chart1.set_style(11)
worksheet.insert_chart('E2',chart1)

#关闭EXCEL文件,并保存文件
workbook.close()

猜你喜欢

转载自blog.csdn.net/lr_harry/article/details/106754324
今日推荐