说明:
xlsxwriter模块,可以操作工作表的文字、数字、公司、图表等
小案例引入:
import xlsxwriter
#创建excel文件
writerbook = xlsxwriter.Workbook('first_excel.xlsx')
#创建工作表对象,不给名称默认为sheet1
sheet1 = writerbook.add_worksheet('first_sheet')
#设置sheet页面格式
sheet1.set_column('A:A',20)
#定义一个加粗的格式对象
bold = writerbook.add_format({'bold':True})
#页面中插入数据
sheet1.write('A1','hello')
sheet1.write('A2','World')
sheet1.write('A10','中国',bold)
sheet1.write(2,0,35)
sheet1.write(3,0,25)
sheet1.write(4,0,'=SUM(A3:A4)')
sheet1.insert_image('B5',r'C:\Users\hspcadmin\Desktop\1.png')
#关闭Excel文件
writerbook.close()
Excel样式为:
xlsxwriter三大类
1、Workbook():创建Excel文件
2、Worksheet():excel最核心模块
3、Char():图表组件的基类
一、workbook类
1.Workbook类定义:
Workbook(filename,[options]):实现创建一个XlsxWriter的workbook对象
filename为创建Excel文件存储路径
参数option(dict)类型为可选的workbook参数,一般作为初始化工作表内容格式
2. add_worksheet(sheetname)
添加一个新的工作表,参数sheetname为可选名称,默认为sheet1
举例:
Workbook.add_sheet('员工信息')
workbook.add_sheet('员工绩效')
workbook.add_sheet('员工活动剪辑')
3、add_format([properities])
作用是在工作表中创建一个新的格式对象来格式化单元格
参数:property是dict类型
举例:workbook.add_format(['bold':True]) 等价于:
bold = workbook.add_format()
bold.set_bold()
4、add_chart(options)方法
作用:在工作表中创建一个图标对象,内部是通过insert_chart()方法来实现
5.close() 关闭工作表文件
二、worksheet类
Worksheet类
代表了一个Excel工作表,是xlsxwriter模块操作Excel内容最核心的一个类,例如将数据写入单元格或工作表格式布局等
worksheet对象不能直接实例化,取而代之的是通过workbook对象调用add_worksheet()方法来创建。常用的方法如下:
1.write(row,col,*args)
将数据写入到工作表的单元格,row为行坐标,col为列坐标,坐标索引起始值为0
set_row(row,height,cee_format,options)
作用:设置单元格属性
row:指定行位置,起始下标为0
height:设置行高
cell_format:指定格式对象
options:dict类型,设置hidden,level,collapsed
worksheet.set_row(1,None,None,{'hidden':True}) :隐藏第二行单元格
#案例二
import xlsxwriter
writebook = xlsxwriter.Workbook('中南海.xlsx')
#创建sheet
writesheet = writebook.add_worksheet('5号')
writesheet.write('A1','HELLO')
#创建格式
cell_format = writebook.add_format({'bold':True})
#设置第一行单元格
writesheet.set_row(0,40,cell_format)#设置第一行像素为40高度,格式为加粗
writesheet.set_row(1,None,None,{'hidden':True})
writebook.close()
#1. set_column(first_col,last_col,width,cell_format,options)
作用是:设置一列或多列单元格属性
first_col:指定开始列位置,起始下标为0
last_col:指定结束列位置
width:设置列宽
cell_format:指定格式对象
options:设置行hidden(隐藏),level(组合分级),collapsed(折叠)
2.insert_image(row,col,image([options]))
作用:插入图片到指定的单元格,支持PNG,JPEG,BMP等图片格式
#案例三:设置多列的单元格样式
import xlsxwriter
url = r'C:\Users\hspcadmin\Desktop\资料\Python\alien_invasion\pkg\上海.xlsx'
#定义文件名称
workbook = xlsxwriter.Workbook('上海.xlsx')
#定义sheet页面对象
writesheet = workbook.add_worksheet('6号')
#定义页面格式
cell_format = workbook.add_format({'bold':True})
writesheet.write('A1','now')
writesheet.write('B1','hi')
writesheet.set_column(0,1,10,cell_format) #设置1,2行,高度为10个像素,字体加粗
writesheet.set_column('C:D',20) #设置C,D两列,宽度为20像素
writesheet.set_column("E:G",None,None,{'hidden':True}) #E至D列,隐藏
workbook.close()
三、chart类
Chart类
实现在xlsxwriter模块中图标组件的基类,支持的图标类型包括面积、条形图、柱形图、折线图、饼图等
1、一个图表对象是通过workbook的add_chart方法创建,通过{type,'图表类型'}字典参数指定图表类型
chart = workbook.add_chart({type,'column'})
图表类型说明:
area:创建一个面积样式的图表
bar:条形状的图表
column:柱形样式
line:线条样式
pie:饼状
scatter:散点样式
stock:股票样式
radar:雷达样式
2、通过worksheet的insert_char()方法插入到指定的位置
worksheet.insert_char('A7',chart) 在A7单元格插入图表
chart类其他几个常用的方法
char.add_series(options)方法,作为添加一个数据系列到图表,参数options(dict类型)设置图表系列选项的字典
chart.add_series({
'categories':'=sheet1!$A$1:$A$5',
'values': '=sheet1!$B$1:$B$5',
'line':{'color':'red'},
})
add_series方法常用的三个选项:categories,values,line,其中categories作为设置图表类别标签范围
;values设置图表值范围,你了设置图表线条属性,包括颜色、宽度
set_x_axis(options)方法,设置图表X轴选项
chart.set_x_axis({
'name':'earnings per quarter', #设置x轴标题名称
'name_front':'{'size':14,'bold':'True'}', #设置x轴标题字体属性
'num_font':{'italic':True}, #设置x轴数字字体属性
})
set_size(options):设置图表大小,chart.set_size({'width':720,'height':576})
set_title(options):设置图表标题 chart.set_title({'name':'year end results'})
set_style(style_id):设置图表样式,style_id 为不同数字则代表不同样式
set_table(options):设置x轴为数据表格形式,chart.set_table()