openpyxl学习笔记openpyxl.cell(二)

openpyxl.workbook cell使用例子
一、创建Excel

# -*- coding: utf-8 -*-
"""
Created on Fri May  3 15:30:59 2019

@author: 86183
"""
#写一个表格
from openpyxl import Workbook
from openpyxl.utils import get_column_letter

wb = Workbook() #新建表格

dest_filename = 'empty_book.xlsx' #表格名称

ws1 = wb.active #激活sheet
ws1.title = 'range name' #修改sheet的名字为 range name

for row in range(1,40): #30行
  ws1.append(range(600))  #每行填充0~599,600数字
  
ws2=wb.create_sheet(title='Pi') #新建sheet,命名为Pi
ws2['f5']='3.1415926'   #给Pi中F5单元格填充文本

ws3=wb.create_sheet(title='Data')
for row in range(10,20):  #10~20行
  for col in range(27,54): #27~54列
    _ = ws3.cell(row=row,column=col,value="{0}".format(get_column_letter(col)))#填充列数对应的字母
    
print(ws3['AA10'].value)
  
wb.save(filename=dest_filename) #保存文档命名为dest_filename

二、读取已存在表格数据

#读取已存在表格
from openpyxl import load_workbook

wb=load_workbook(filename='empty_book.xlsx') #读取表格的名称
name=wb.sheetnames #查看表格所有sheet名称
print(name)
sheet_range=wb['range name'] #指定sheet
print(sheet_range['D18'].value) #单元格的值

三、数字格式

import datetime
from openpyxl import Workbook
wb=Workbook()
ws=wb.active
ws['A1']=datetime.datetime(2019,5,4)
print(ws['A1'].number_format) #数字格式
ws['A2']="=SUM(1,1)"  #公式
wb.save('formula.xlsx')

四、合并/取消单元格

# -*- coding: utf-8 -*-
"""
Created on Sat May  4 15:50:34 2019

@author: 86183
"""
#合并/取消单元格
from openpyxl.workbook import Workbook

wb=Workbook()
ws=wb.active

ws.merge_cells('A2:C3') #合并单元格
ws.unmerge_cells('A2:C3') #取消合并单元格
#指定范围合并单元格
ws.merge_cells(start_row=2, start_column=4,end_row=5,end_column=8)
#指定范围取消合并
ws.unmerge_cells(start_row=2, start_column=4,end_row=5,end_column=8)

wb.save('mg.xlsx')

五、插入图片,单元格折叠

# -*- coding: utf-8 -*-
"""
Created on Sat May  4 15:50:34 2019

@author: 86183
"""
#单元格插入图片、折叠
from openpyxl import Workbook
from openpyxl.drawing.image import Image

wb=Workbook()
ws=wb.active

ws['A1']='you should see three logos below'
img=Image('logo.png') #创建图片
ws.add_image(img,'A2') #插入图片
# B~D 列折叠
ws.column_dimensions.group('B','D',hidden=True)
#2~10 行折叠
ws.row_dimensions.group(2,10,hidden=True)

wb.save('logo.xlsx')

猜你喜欢

转载自blog.csdn.net/weixin_39892788/article/details/89814323