二 python办公自动化之操作Excel

现在有一个需求,需要使用python读取excel,并设置标题及标题样式如何操作呢?下面来详细介绍下 。
首先还是使用openpyxl进行加载excel文件 。
from openpyxl import load_workbookwb = load_workbook(filename = '员工统计.xlsx')
当我们读取完成这个文件的时候,第一步就是查看所有sheet,然后指定一个sheet进行操作 。
#查看所有sheet名字sheetname = wb.sheetnames[0]#指定其中一个sheetws = wb[sheetname]
那么又如何获取到excel内容呢?
#获取所有的行和列content = []for row in ws.rows:row_lst=[]for obj in row:row_lst.append(obj.value)content.append(row_lst)print(content)#[['姓名', '年龄', '职位'], ['张三', '18', '员工'], ['李省', '19', '员工']]
又如何设置标题呢?
#插入一行,作为标题ws.insert_rows(1)#合并单元格ws.merge_cells(start_row=1, start_column=1, end_row=1, end_column=len(content))ws['A1'] = '员工统计'
最后一步就是设置字体格式并保存啦!
#设置字体为宋体、粗体、斜体、字体大小为 20font = Font(name=u'宋体', bold=True, italic=True, size=20)ws['A1'].font = font#保存wb.save('员工统计.xlsx')
代码:
【二 python办公自动化之操作Excel】from openpyxl import load_workbookfrom openpyxl.styles import Fontwb = load_workbook(filename = '员工统计.xlsx')#查看所有sheet名字sheetname = wb.sheetnames[0]#指定其中一个sheetws = wb[sheetname]#获取所有行for rows in ws.iter_rows():for row in rows:print(row.value)print('================')#获取所有列--Worksheet.iter_cols()方法在只读模式下不可用 。for cols in ws.iter_cols():for col in cols:print(col.value)print('=================')#获取所有的行和列content = []for row in ws.rows:row_lst=[]for obj in row:row_lst.append(obj.value)content.append(row_lst)print(content)#插入一行,作为标题ws.insert_rows(1)#合并单元格ws.merge_cells(start_row=1, start_column=1, end_row=1, end_column=len(content))ws['A1'] = '员工统计'#设置字体为宋体、粗体、斜体、字体大小为 20font = Font(name=u'宋体', bold=True, italic=True, size=20)ws['A1'].font = font#保存wb.save('员工统计.xlsx')

相关经验推荐