python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。可从这里下载 https://pypi.python.org/pypi 。
参考:
https://www.cnblogs.com/zhoujie/p/python18.html
http://www.cnblogs.com/snake-hand/p/3153158.html
基本代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 1
2import xlwt
3# workbook = xlwt.Workbook(encoding='utf-8')#创建workbook 其实就是execl,
4# worksheet = workbook.add_sheet('my_worksheet') #创建表,如果想创建多个,直接在后面再add_sheet
5# worksheet.write(0,0,label ='Row 0,Column 0 Value') #3个参数,第一个参数表示行,从0开始,第二个参数表示列,从0开始,第三个参数表示插入的数值
6# workbook.save('./download/execl_lhr.xlsx') #写完记得一定要保存
7def set_style(name, height, bold=False):
8 style = xlwt.XFStyle() # 初始化样式
9 font = xlwt.Font() # 为样式创建字体
10 font.name = name
11 font.bold = bold
12 font.colour_index = 2
13 font.height = height
14 style.font = font
15 return style
16#写excel
17def write_excel():
18 f = xlwt.Workbook(encoding='gbk') # 创建工作薄
19 # 创建个人信息表
20 sheet1 = f.add_sheet(u'个人信息', cell_overwrite_ok=True)
21 rowTitle = [u'编号', u'姓名', u'性别', u'年龄']
22 rowDatas = [[u'张一', u'男', u'18'], [u'李二', u'女', u'20'], [u'黄三', u'男', u'38'], [u'刘四', u'男', u'88']]
23 for i in range(0,len(rowTitle)):
24 sheet1.write(0,i,rowTitle[i],set_style('Times New Roman',220,True)) #后面是设置样式
25 for k in range(0,len(rowDatas)): #先遍历外层的集合,即每行数据
26 rowDatas[k].insert(0,k+1) #每一行数据插上编号即为每一个人插上编号
27 for j in range(0,len(rowDatas[k])): #再遍历内层集合
28 sheet1.write(k+1,j,rowDatas[k][j]) #写入数据,k+1表示先去掉标题行,另外每一行数据也会变化,j正好表示第一列数据的变化,rowdatas[k][j] 插入数据
29 # 创建个人收入表
30 sheet1 = f.add_sheet(u'个人收入表',cell_overwrite_ok=True)
31 rowTitle2 = [u'编号',u'姓名',u'学历',u'工资']
32 rowDatas2 = [[u'张一',u'本科',u'8000'],[u'李二',u'硕士',u'10000'],[u'黄三',u'博士',u'20000'],[u'刘四',u'教授',u'50000']]
33 for i in range(0,len(rowTitle2)):
34 sheet1.write(0,i,rowTitle2[i])
35 for k in range(0,len(rowDatas2)): #先遍历外层的集合
36 rowDatas2[k].insert(0,k+1) #每一行数据插上编号即为每一个人插上编号
37 for j in range(0,len(rowDatas2[k])): #再遍历内层集合
38 sheet1.write(k+1,j,rowDatas2[k][j]) #写入数据,k+1表示先去掉标题行,另外每一行数据也会变化,j正好表示第一列数据的变化,rowdatas[k][j] 插入数据
39 f.save('./download/excel_write_base.xlsx')
40if __name__ == '__main__':
41 #generate_workbook()
42 #read_excel()
43 write_excel()
44
45
代码2:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 1
2import xlwt
3def set_style(name,height,bold=False):
4 style = xlwt.XFStyle() # 初始化样式
5 font = xlwt.Font() # 为样式创建字体
6 font.name = name # 'Times New Roman'
7 font.bold = bold
8 font.color_index = 4
9 font.height = height
10 # borders= xlwt.Borders()
11 # borders.left= 6
12 # borders.right= 6
13 # borders.top= 6
14 # borders.bottom= 6
15 style.font = font
16 # style.borders = borders
17 return style
18#写excel
19def write_excel():
20 f = xlwt.Workbook() #创建工作簿
21 '''
22 创建第一个sheet:
23 sheet1
24 '''
25 sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True) #创建sheet
26 row0 = [u'业务',u'状态',u'北京',u'上海',u'广州',u'深圳',u'状态小计',u'合计']
27 column0 = [u'机票',u'船票',u'火车票',u'汽车票',u'其它']
28 status = [u'预订',u'出票',u'退票',u'业务小计']
29 #生成第一行
30 for i in range(0,len(row0)):
31 sheet1.write(0,i,row0[i],set_style('Times New Roman',220,True))
32 #生成第一列和最后一列(合并4行)
33 i, j = 1, 0
34 while i < 4*len(column0) and j < len(column0):
35 sheet1.write_merge(i,i+3,0,0,column0[j],set_style('Arial',220,True)) #第一列
36 sheet1.write_merge(i,i+3,7,7) #最后一列"合计"
37 i += 4
38 j += 1
39 sheet1.write_merge(21,21,0,1,u'合计',set_style('Times New Roman',220,True))
40 #生成第二列
41 i = 0
42 while i < 4*len(column0):
43 for j in range(0,len(status)):
44 sheet1.write(j+i+1,1,status[j])
45 i += 4
46 f.save('./download/excel_write_merge.xlsx') #保存文件
47if __name__ == '__main__':
48 #generate_workbook()
49 #read_excel()
50 write_excel()
51
52
超链接:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 1
2import xlwt
3book = xlwt.Workbook()
4sheet_index = book.add_sheet('index')
5line=0
6for i in range(9):
7 sheet1 = book.add_sheet(str(i))
8 sheet1.write(0,0,str(i))
9 link = 'HYPERLINK("#%s";"%s")' % (str(i), str(i))
10 sheet_index.write(line, 0, xlwt.Formula(link))
11 line+=1
12book.save('./download/simple2.xls')
13
14
**About Me **
………………………………………………………………………………………………………… ● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除 ● 本文itpub地址: http://blog.itpub.net/26736162 ● 本文博客园地址: http://www.cnblogs.com/lhrbest ● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/ ● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/ ● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/ ………………………………………………………………………………………………………… ● QQ群号: 230161599 (满) 、618766405 ● weixin群:可加我weixin,我拉大家进群,非诚勿扰 ● 联系我请加QQ好友 ( 646634621 ) ,注明添加缘由 ● 于 2019-01-01 06:00 ~ 2019-01-31 24:00 在魔都完成 ● 最新修改时间:2019-01-01 06:00 ~ 2019-01-31 24:00 ● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解 ● 版权所有,欢迎分享本文,转载请保留出处 ………………………………………………………………………………………………………… ● 小麦苗的微店 : https://weidian.com/s/793741433?wfr=c&ifr=shopdetail ● 小麦苗出版的数据库类丛书 : http://blog.itpub.net/26736162/viewspace-2142121/ ● 小麦苗OCP、OCM、高可用网络班 : http://blog.itpub.net/26736162/viewspace-2148098/ ● 小麦苗腾讯课堂主页 : https://lhr.ke.qq.com/ ………………………………………………………………………………………………………… …………………………………………………………………………………………………………
1 | 1 |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2375265/,如需转载,请注明出处,否则将追究法律责任。