2020-08-04

openpyxl 的使用

说明:文章主要是使用库的感想和注释。

今天看到一些写openpyxl库使用的文章!对这篇文章进行了一些理解。并对一些代码进行了注释!没有创作的能力,但想写下来留做纪念。作为我的第一篇csdn博客文章吧,全部以代码的形式体现。
Markdown将文本转换为 HTML。


import openpyxl

'''
#创建一个空的Excel表格,创建一个空的sheet表
excels = openpyxl.Workbook()
excels.create_sheet(index=1,title='sheet2')
excels.save('try.xlsx')#保存数据
'''
#读取表格,1打开已有excel,2.获取所有表名,3、根据表名打开工作表
wb = openpyxl.load_workbook('练习数据.xlsx')
sheet3=wb.create_sheet(index=2,title='试验一下')
sheet_names = wb.sheetnames #返回的对象是一个列表。 两种方式 sheet_names = wb.get_sheet_names()

#wb.remove(wb[sheet_names[2]]) #注意:创建一个sheet,与删除一个sheet,互为反向操作,不要在一次执行中执行两个操作

#3、根据表名打开工作表,返回给一个对象
sheet1 = wb[sheet_names[0]]#wb['工资条']
sheet2 = wb[sheet_names[1]]
#sheet3 = wb[sheet_names[2]]
#4、打开数据,row表示行;column表示列
A1_value = sheet1['A1'].value
A1_column = sheet1['A1'].column #获取单元格A1的列值
A1_row = sheet1['A1'].row  #获取单元格A1的行值
sheet1_data =sheet1.cell(1,2)  #sheet.cell(行,列),行列都必须是整数
#5、读取某一列数据,用sheet[A,B,C,D,E]形式依次遍历,第B列
A_column = []
for i in sheet1['A']:
    A_column.append(i.value)

#6、读取某一行的数据,用sheet[1,2,3,4,5],依次遍历
two_row = []
for j in sheet1[2]:
    two_row.append(j.value)

#7、通过遍历行和列,读取所有数据。sheet1.rows表示所有行;sheet1.columns表示所有列
all_data = []
for a in sheet1.columns:
    for cell in a:
        all_data.append(cell.value)

#8、将数据写入到表格中去
sheet3.cell(row=1,column=2,value='姓名') #在第一行第二列写入内容
sheet3['A1']='序号' #直接定位修改A1的值,增加内容也可以这样的语法
#还可以公式赋值:sheet3['A9']='SUM(A1:A8)'

'''还可以写入一行或者多行
#写入一行:
one_raw = [0,1,2,3,4,5]
sheet3.append(one_raw)
#写入多行
mang_raw = [
['ID','Name','Sex','Department'],
['20152326','晓慧','女','财务部'],
['20143635','思聪','男','运维部'],
['20182145','周杰','男','后勤部']
]
for each in mang_raw:
    sheet3.append(each)
'''

sheet3.title='小试牛刀'#修改表的名称
#9.修改表格的样式,包括字体、颜色、模式、边框、数字格式等
#1.字体样式设置,A1单元格,宋体,24号,加粗,倾斜,浅蓝色
sheet3['A1'].font = openpyxl.styles.Font(name='宋体',size=24,bold=True,italic=True,color=openpyxl.styles.colors.BLUE)
#2.A1单元格格式(内容的位置),水平、垂直居中
sheet3['A1'].alignment = openpyxl.styles.Alignment(horizontal='center',vertical='center')
#3.行高设置,第一行行高设置为30
sheet3.row_dimensions[1].height = 30
#4.列宽设置,第一列(也就是A列)列宽设置为30
sheet3.column_dimensions['A'].width = 30
print(sheet1_data.value)
wb.save('练习数据.xlsx') #做完所有的工作记得保存成文档,不然功夫都白费了,还有.xlsx为唯一后缀。

文章是借鉴一些csdn上面的博客写的,我没有放他们原文的链接,希望别人不要骂我!

猜你喜欢

转载自blog.csdn.net/weixin_46498480/article/details/107794847