python-表格的新建与写入与单元格参数的设置

打开已有的表格后写入

import xlwings as xw  #可以对.xls和.xlsx文件进行修改

#打开Excel程序,默认设置:程序可见,只打开不新建工作薄
app = xw.App(visible=True,add_book=False)
# #新建工作簿 (如果不接下一条代码的话,Excel只会一闪而过,卖个萌就走了)
# wb = app.books.add()

#打开已有工作簿(支持绝对路径和相对路径)
wb = app.books.open(r'D:\python\python_excel\练习.xlsx')

# 返回工作簿的名称
x=wb.name
print(x) #输出为:test.xlsx

# 1-直接对wb的sheet1的A1单元格赋值
#wb.sheets['Sheet1'].range('A1').value='人生'  #sheet是工具表名,range是表格的编号,value对应表格的值/内容

# 引用工作簿、工具表
sht=xw.books['练习.xlsx'].sheets['Sheet1']  #工作簿:练习.xlsx;工具表:Sheet1
# 引用单元格
# rng=sht.range('A1')

#写入数据
list = [['a1','a2','a3'],[3,6,9]]
sht.range('A1').value = list  #默认是按行输入的,所以该语句输入的范围是A1:B3


wb.save() #保存工作簿
wb.close() #退出工作簿(可省略)
app.quit() #退出Excel

sht.range('A1').value = list  

#默认是按行输入的,所以该语句输入的范围是A1:B3 

#默认输入字母左对齐,数字右对齐

单个元素按列写入:

#写入数据
list = [[1],[2],[3],[4]]
sht.range('A1').value = list  #默认是按行输入的,所以该语句输入的范围是A1:A4

一组数据按列写入

# 一组数据按列写入
list2 = [1,2,3,4,5]
sht.range('A1').options(transpose=True).value = list2

两组数据单独按列写入

# 两组数据按列写入
list1 = ['a','b','c','d','e']
list2 = [1,2,3,4,5]
sht.range(1,1).options(transpose=True).value = list1
sht.range(1,2).options(transpose=True).value = list2   

#range(1,2),代表第一行,第2列的单元格

一个按行写,一个按列写

# # 两组数据,一个按行写入,一个按列写入-range(1,2)+expang('right'/'down')
list1 = ['a','b','c','d','e']
list2 = [1,2,3,4,5]
sht.range(1,1).expand('right').value = list1  #第一行写入
sht.range(2,1).expand('down').options(transpose=True).value = list2  #range(1,2),代表第一行,第2列的单元格

一次性写入多行

# 一次性写入多行
sht.range(2, 2).expand('right').value = [[1,2,3,4] ,[11,12,13,14]]

一次性写入多列

# # 一次性写入多列
sht.range(2, 2).options(transpose=True).value = [[1,2,3,4] ,[11,12,13,14]]

一次性写入多列+颜色+字体+填充+边框

# # 一次性写入多列
sht.range(1, 1).options(transpose=True).value = [['a','b','c','d'] ,[1,2,3,4]]

#设置字体,填充色
sht.range(1, 1).expand().api.Font.Color = 0xffffff   # 设置字体为白色
sht.range(1, 1).expand().api.Font.Bold = True     # 设置为粗体。
sht.range(1, 1).expand().color = (0, 0, 255)      # 设置填充色为蓝色
sht.range(1, 1).expand().api.HorizontalAlignment = -4108  # -4108 水平居中。 -4131 靠左,-4152 靠右。
sht.range(1, 1).expand().api.VerticalAlignment = -4130  # -4108 垂直居中(默认)。 -4160 靠上,-4107 靠下, -4130 自动换行对齐。
sht.range(1, 1).expand().api.NumberFormat = "0.00"  # 设置单元格的数字格式。

b3=sht.range(1, 1).expand()
"""设置边框"""
# Borders(9) 底部边框,LineStyle = 1 直线。
b3.api.Borders(9).LineStyle = 1
b3.api.Borders(9).Weight = 3  # 设置边框粗细。

# Borders(7) 左边框,LineStyle = 2 虚线。
b3.api.Borders(7).LineStyle = 2
b3.api.Borders(7).Weight = 3

# Borders(8) 顶部框,LineStyle = 5 双点划线。
b3.api.Borders(8).LineStyle = 5
b3.api.Borders(8).Weight = 3

# Borders(10) 右边框,LineStyle = 4 点划线。
b3.api.Borders(10).LineStyle = 4
b3.api.Borders(10).Weight = 3
# Borders(6) 单元格内从左下角 到 右上角。
# b3.api.Borders(6).LineStyle = 1
# b3.api.Borders(6).Weight = 3

"""如果是一个区域的单元格,内部边框设置如下"""
# # Borders(11) 内部垂直边线。
b3.api.Borders(11).LineStyle = 1
b3.api.Borders(11).Weight = 3
#
# # Borders(12) 内部水平边线。
b3.api.Borders(12).LineStyle = 1
b3.api.Borders(12).Weight = 3

参考

Python学习随笔:使用xlwings设置和操作excel多行多列数据以及设置数据字体颜色填充色对齐方式的方法_xlwings读取多列-CSDN博客

python用 xlwings库对Excel进行 字体、边框设置、合并单元格, 版本转换等操作_xlwings 边框-CSDN博客

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值