excel之 xlsxwriter包

本文介绍python操作excel的方法(xlsxwriter包的使用)
xlsxwriter包的安装
pip install xlsxwriter

Workbook类
创建一个excel文件
filename = "test.xlsx"
# Workbook代表整个电子表格文件,并且存储在磁盘上。filename为字符串类型,表示创建的excel文件存储路径;
wb = xlsxwriter.Workbook(filename)

创建一个sheet表:add_worksheet
add_worksheet([sheetname])方法,用于添加一个新的工作表,sheetname为工作表名称,默认是sheet1,例如:

ws = wb.add_worksheet()  #创建一个sheet1的表
ws2 = wb.add_worksheet("test")  #创建一个test的表

设置sheet表单元格的行高和列宽
set_row(row, height)方法,用于设定某一行单元格的行高 
(row:指定行位置,起始下标为0;height:为float类型,设定行高,单位像素) 
set_column(first_col, last_col, width)方法,用于设置一列或多列单元格的列宽 
(irst_col:整型,指定开始列位置,起始下标为0;last_col:整型,指定结束列位置,起始下标为0;width:float类型,设置列宽) 
set_column(“first_col:last_col”, width)方法(first_col和last_col用英文字母表示列名,起始为A)

# 设置sheet表单元格列宽
ws.set_column(0,3,40) #设定第1到4列的列宽为40
ws.set_column("A:A", 40) #设定A列列宽为40
ws.set_column("B:D", 15) #设定B、C、D三列的列宽为15
ws.set_column("E:F", 50) #设定E、F列的列宽为50

#设置sheet表单元格行高
ws.set_row(0,40) #设置第一行的高度为40

向单元格中写入内容:write
write(row, col, data,cell_format)方法:是用来将普通数据写入单元格中(行标、列标、内容、单元格格式)

# 为了简化不同数据类型的写入过程,write方法已作为其他更加具体的数据类型方法的别名,如:
write.string():写入字符串类型数据
wirte_number():写入数字型数据
write_blank():写入空类型数据
write_formula():写入公式型数据
write_datetime():写入日期型数据
wirte_boolean():写入逻辑型数据
write_url():写入超链接型数据

# 示例:
ws.write(1,1,"python操作excel") #在单元格1行1列中写入:“python操作excel”

单元格常用格式
#设定整个sheet表的单元格的格式

property = {
            'font_size': 11,#字体大小
            'bold':True, #是否加粗
            'align': 'left',#水平对齐方式
            'valign': 'vcenter',#垂直对齐方式
            'font_name': u'微软雅黑',
            'text_wrap': False,  # 是否自动换行
            }
cell_format = wb.add_format(property)

#在向单元格中写入内容时,加上单元格样式
ws.write(row,col,data,cell_format)

单元格中插入图片
insert_image(row, col, image[, options])方法,用于插入图片到指定的单元格,支持PNG,JPEG,BMP等多种格式。 
row:行坐标,起始索引值为0; 
col:列坐标,起始索引值为0; 
image:string类型,是图片路径; 
options:dict类型,是可选参数,用于指定图片位置,如URL等信息;

# 图片格式
img_format={
            'x_offset': 8,#水平偏移
            'y_offset': 14,#垂直偏移
            'x_scale': 0.18,#水平缩放
            'y_scale': 0.18,#垂直缩放
            'url': None,
            'tip': None,
            'image_data': None,
            'positioning': None
            }
# 示例:
ws.insert_image(1,1,'1.png',img_format)
 

发布了73 篇原创文章 · 获赞 41 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/weixin_37989267/article/details/104796262