openpyxl需要注意点
1、百分数
写入百分数时,需要加上excel.guest_types=True,否则写入的百分数会变成小数
import openpyxl
wb=openpyxl.Workbook()
ws=wb.create_sheet('test')
wb.guess_types=True# 加个这个,写入百分数后就会显示百分数,否则显示小数
ws['A1']='12%'
print(ws['A1'].value)
wb.save('2.xlsx')
2、写入日期
- datetime.date: 是指年月日构成的日期(相当于日历)
- datetime.time: 是指时分秒微秒构成的一天24小时中的具体时间(相当于手表)
- datetime.datetime: 上面两个合在一起,既包含时间又包含日期
- datetime.timedelta: 时间间隔对象(timedelta)。一个时间点(datetime)加上一个时间间隔 (timedelta)可以得到一个新的时间点(datetime)。比如今天的上午3点加上5个小时得到今天的上午8点。同理,两个时间点相减会得到一个时间间隔。
5、格式化输出想要的时间:
time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
time.time()返回当前时间戳
也可以这样用:
datetime.datetime.today().strftime('%Y-%m-%d %H:%M:%S')
datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
代码:
wb=openpyxl.load_workbook('2.xlsx')
ws=wb['test']
ws['A2']=datetime.datetime(2019,5,14)
ws.cell(3,2,datetime.date(2019,5,13))
ws.cell(4,3).value=datetime.time(10,4,35)
print(ws['A2'].value,ws.cell(3,2).value,ws.cell(4,3).value)
wb.save('2.xlsx')
3、隐藏单元格
-- coding: utf-8 --
from openpyxl import load_workbook
from openpyxl.drawing.image import Image
wb = load_workbook('e:\sample.xlsx')
ws1=wb.active
ws1.column_dimensions.group('A', 'D', hidden=True) #隐藏a到d列范围内的列
ws1.row_dimensions 无group方法
Save the file
wb.save("e:\sample.xlsx")
4、设置字体颜色、字体、大小等
ws.cell(3,2).font=Font(color=colors.GREEN,name=u'宋体',size=14,italic=True) #color="FFBB00",颜色编码也可以设定颜色,#italic倾斜字体
5、设置行列字体颜色
col = ws.column_dimensions['A']
col.font = Font(bold=True) #将A列设定为粗体
row = ws.row_dimensions[1]
row.font = Font(underline="single") #将第一行设定为下划线格式