Python xlwings 将数据写入表格

  1. 利用xlwings,操作Excel文件,制作上述表格内容。制作步骤如下图

在这里插入图片描述

可能用到的内容

xlwings - 让Excel跑得飞快!

Excel VBA 参考

代码

import xlwings as xw
import pandas as pd
import random
wb = xw.Book()  # this will create a new workbook
#wb = xw.Book('FileName.xlsx')  # connect to a file that is open or in the current working directory
#wb = xw.Book(r'C:\path\to\file.xlsx')  # on Windows: use raw strings to escape backslashes
sht = wb.sheets['Sheet1']
sht.range('A1').value = '个人信息表'
#设置合并
sht.range('A1:G1').api.Merge()

# xlwings设置excel单元格对齐方式
sht.range('A1:G1').api.HorizontalAlignment =-4108
sht.range('A1:G1').api.VerticalAlignment = -4108
#数据写入的是excel行方向
sht.range('A2:F2').value = ['序号','学号','姓名','英语','数学','物理','总分']
#数据写入的是excel列方向
sht.range('A3:A8').options(transpose=True).value=[1,2,3,4,5,6]
sht.range('B3:B8').options(transpose=True).value=['id01','id02','id03','id04','id05','id06']
sht.range('C3:C8').options(transpose=True).value=['A01','A02','A03','A04','A05','A06']
#以表格方式填入数据
tables=[]
for i in range(0,6):
    rol=[]
    for j in range(0,3):
        rol.append(random.randint(0,101))  
    tables.append(rol)
sht.range('D3').options(expand='table').value=tables
#利用公式计算
sht.range('G3').formula='=SUM(D3:F3)'
sht.range('G4').formula='=SUM(D4:F4)'
sht.range('G5').formula='=SUM(D5:F5)'
sht.range('G6').formula='=SUM(D6:F6)'
sht.range('G7').formula='=SUM(D7:F7)'
sht.range('G8').formula='=SUM(D8:F8)'
sht.range('D9').formula='=SUM(D3:D8)'
sht.range('E9').formula='=SUM(E3:E8)'
sht.range('F9').formula='=SUM(F3:F8)'
# xlwings设置excel单元格字体(font)格式:
sht.range('A1:G9').api.font.name = "宋体"
# 设置背景色
sht.range('A1:G1').color=0x0000FF   #红色
sht.range('A2:G2').color=0xFF0000   #蓝色


'''
# xlwings设置excel单元格字体(font)格式:
sht.range('A1:G9').api.font.name = "宋体"
#设置单元格格式
sht.range('d3:g9').api.NumberFormat
# 设置背景色
sht.range('A1:F1').color=0x0000FF
# xlwings设置excel单元格大小(行高与列宽)
sht.range('A1:F1').column_width=1
sht.range('A1:A8').row_height=1'''
'''
#纵向填入数据

sht.range('A3').options(transpose=True).value

#以表格方式填入数据

sht.range('B3').options(expand='table') .value

#利用公式计算

sht.range('G3').formula='=SUM(D3:F3)'

# xlwings设置excel单元格字体(font)格式:

sht.range('A1:G9').api.font.name

#设置合并

sht.range('a1:g1').api.merge

#设置单元格格式

sht.range('d3:g9').api.NumberFormat

# 设置背景色

sht.range('A1:F1').color

# xlwings设置excel单元格大小(行高与列宽)

sht.range('A1:F1').column_width

sht.range('A1:A8').row_height

# xlwings设置excel单元格对齐方式

sht.range('A1').api.HorizontalAlignment =-4108

sht.range('A1').api.VerticalAlignment = -4108

#数据写入的是excel行方向。

sht.range('A2:F2').value = ['序号','学号','姓名','英语','数学','物理','总分']

#数据写入的是excel列方向

sht.range('A3:A8').options(transpose=True).value=[1,2,3,4,5,6]
'''

结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BoBo玩ROS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值