Python与Excel的各类方法使用【细致一行一行来】

Python与Excel的各类方法使用【一行一行来】



当下实用代码

不急,跟着我一行一行来看!

import openpyxl,os
from openpyxl.styles import Font
os.chdir(r'C:\Users\LX\Desktop')
#wb=openpyxl.Workbook()  				 #没有文件,创建
wb=openpyxl.load_workbook('LOVE.xlsx')   #有文件,读取
#sheet=wb['ABC']  #创建你的工作表
sheet=wb.active   #当前活动表
italic24Font=Font(size=24,italic=True)	#设置好文字格式
sheet.column_dimensions['D'].width=60	#调整列宽
#sheet.column_dimensions['D'].font=italic24Font
for cell in sheet['H']:					#Cell遍历单元格修改格式(一列)
    cell.font=italic24Font

sheet['B3'].font=italic24Font			#对某一个单元格修改
#styleObj=Font(font=italic24Font)
#sheet['A'].style/styleObj				#弃用
sheet['I1']='=SUM(D10:D14)'				#函数使用
sheet.merge_cells('C4:F6')				#单元格冻结
#sheet.freeze_panes = 'B2'  			#冻结

for i in range (1,11):
    sheet['J'+str(i)] = i				#准备好画图数据
refObj=openpyxl.chart.Reference(sheet,min_row = 1, min_col = 10, max_row = 11, max_col = 10)							
										#坐标表示方法已经变了,创建Reference对象
seriesObj=openpyxl.chart.Series(refObj,title='第一次试验')
										#传入Reference对象,创建Series对象
chartObj = openpyxl.chart.BarChart()	#准备好图表板,创建chart对象
chartObj.title = 'My Chart'				#图表命名
chartObj.append(seriesObj)				#把图放在图板里面
##chartObj.drawing.top=50   			#drawing已经弃用
##chartObj.drawing.left=100
##chartObj.drawing.width=300
##chartObj.drawing.height=200
sheet.add_chart(chartObj,'C5')			#把图表的左上角放在C5的位置展开
wb.save('LOVE.xlsx')					#保存!

包含了各种Excel的基本操作,包括创建,读取,单元格操作,单元格格式修改,函数使用,单元冻结,图表创建和使用。

运行图表结果
在这里插入图片描述

openpyxl更新

创建图表,老版:

refObj = openpyxl.charts.Reference(sheet, (1,1), (10, 1))
 
seriesObj = openpyxl.charts.Series(refObj, title = 'First series')
 
chartObj = openpyxl.charts.BarChart()
chartObj.append(seriesObj)
chartObj.drawing.top = 50           # set the position
chartObj.drawing.left = 100
chartObj.drawing.width = 300        # set the size
chartObj.drawing.height = 200
 
sheet.add_chart(chartObj)

新的是这样的

refObj = openpyxl.chart.Reference(sheet, min_row = 1, min_col = 1, max_row = 10, max_col = 1)
 
seriesObj = openpyxl.chart.Series(refObj, title = 'First series')
 
chartObj = openpyxl.chart.BarChart()
chartObj.title = 'My Chart'
chartObj.append(seriesObj)
 
sheet.add_chart(chartObj, 'C5')    #C5表示图标开始位置

openpyxl 2.4使用老方法可能会报warning或error,Workbook提供的方法比对如下:

create_sheet:创建一个空的表格
copy_worksheet:在Workbook内拷贝表格
get_highest_row, get_highest_column:获取行列的最大值(新版只能通过max_row和max_column两个方法)
get_column_letter, column_index_from_string:行列的字母/数字互转(新版只能通过openpyxl.utils导入,而非openpyxl.cell)
get_sheet_names:获取所有表格的名称(新版不建议使用,通过Workbook的sheetnames属性即可获取)
get_sheet_by_name:通过表格名称获取Worksheet对象(新版不建议使用,通过Worksheet[‘表名‘]获取)
get_active_sheet:获取活跃的表格(新版通过active属性获取)
remove_sheet:删除一个表格(新版不建议使用,通过wb.remove(worksheet) or del wb[sheetname]).)
设定字体方法,老版(有style对象,通过style/styleObj方法):

wb = openpyxl.Workbook()
sheet = wb['Sheet']
italic24Font = Font(size = 24, italic = True)
styleObj = Style(font = italic24Font)
sheet['A'].style/styleObj

新版(没有style对象,通过style/styleObj方法):

wb = openpyxl.Workbook()
sheet = wb['Sheet']
italic24Font = Font(size = 24, italic = True)
sheet['A1'].font = italic24Font

猜你喜欢

转载自blog.csdn.net/XRTONY/article/details/114296976