pytohn 操作excel表格常用模块 xlwt xlsxwriter

1、导入模块
  import xlwt
2、创建workbook(其实就是excel,后来保存一下就行)
  workbook = xlwt.Workbook(encoding = 'ascii')
3、创建表
  worksheet = workbook.add_sheet('My Worksheet')
4、往单元格内写入内容
  worksheet.write(0, 0, label = 'Row 0, Column 0 Value')
5、保存
  workbook.save('Excel_Workbook.xls')
由于我的需求比较简单,所以这上面没遇到什么问题,唯一的就是建议还是用ascii编码,不然可能会有一些诡异的现象。今天主要写一些xlwt与xlsxwriter的区别。先来看看简单的xlwt写文件
 1 import xlwt
 2 # 创建一个workbook 设置编码
 3 workbook = xlwt.Workbook(encoding = 'utf-8')
 4 # 创建一个worksheet
 5 worksheet = workbook.add_sheet('My Worksheet')
 6 # 写入excel
 7 # 参数对应 行, 列, 值
 8 ''' height:行高;
 9     name:字体
10     bold:字体加粗
11     wrap :自动换行
12     horiz:水平对其方式
13     vert:垂直对齐方式. top center 
14     pattern :背景样式 solid,
15     fore-colour: 单元格背景颜色   grey25;
16     border: 边框线
17     
18     
19 '''
20 def set_widths(sheet, width_list):
21     '''���ù�������п��б�'''
22     for index, w in enumerate(width_list):
23         sheet.col(index).width = w
24 cell_xf = xlwt.easyxf('''
25             font:
26                 height 220,
27                 name SimSun;
28             align:
29                 wrap on,
30                 vert centre,
31                 horiz left;
32             borders:
33                 left THIN,
34                 right THIN,
35                 top THIN,
36                 bottom THIN;
37         ''')
38 # worksheet.col(3).width = 256 * 16   设置宽度
39 # worksheet.col(4).width = 256 * 18
40 # worksheet.write(0,0,label = 'this is test',style=style)
41 # worksheet.write(0,2,label = 'this',style=style)
42 # worksheet.write(4,3,label = 'this is',style=cell_xf)
43 # import time,datetime
44 # time=datetime.datetime.now()
45 # worksheet.row(4).set_cell_date(6,time,cell_xf)
46 worksheet.write_merge(0,4,2,4,'88888888888',cell_xf)  #合并单元格
47 
48 
49 
50 # 保存
51 workbook.save('Excel_test31.xls')   #生成excele表格,保存文件名
View Code

然后是xlsxwriter写入

 1 def set_widths(sheet, width_list):
 2     '''���ù�������п��б�'''
 3     for index, w in enumerate(width_list):
 4         sheet.set_column(1,index,w)
 5 from xlsxwriter.workbook import Workbook
 6 
 7 workbook = Workbook('Demo770.xlsx')    # 创建一个名为Dome2.xlsx的表格
 8 # header_format = workbook.add_format({
 9 #             'bg_color': 'blue',
10 #             'bold': True,
11 #             'text_wrap': True,
12 #             'valign': 'vcenter',
13 #             'indent': 1,
14 #         })
15 
16 report_title_xf = workbook.add_format({
17     'font_name': 'SimSun',       #字体
18     'bold': True,                 #是否加粗
19     'text_wrap': True,           #是否自动换行
20     'valign': 'vcenter',         #垂直对齐方式
21     'align': 'left',             #水平对齐
22     # 'fg_color': '#436EEE',       #前景色
23 
24     'bg_color': '#cccccc    ',     #背景色
25     'pattern':1,               #阴影样式
26     'bottom': 1                 #边框线
27     'left': 1,                  #边框线
28     'right': 1,                 #边框线
29     'top': 1,                   #边框线
30     'num_format': 'yyyy-mm-dd' #时间格式
31 })
32 
33 
34 
35 
36 worksheet = workbook.add_worksheet('xxxx')  # 添加工作表
37 # report_title_xf=worksheet.set_row(0, 100, report_title_xf)    设置单元格高度
38 
39 # set_widths(worksheet,[15,30,7.5,7.5,15,15,38,38,38,38])   设置单元格宽度(14行一个函数实现)
40 
41 
42 # worksheet.set_column('A:A', 18)设置宽度
43 worksheet.set_column('B:B',10)#设置宽度
44 worksheet.set_column('C:C',10)
45 worksheet.set_column(3,3,30)
46 worksheet.set_column(0,0,50)
47 
48 # worksheet.set_row(1,40)
49 
50 
51 worksheet.write('C1','6666666666666 ',report_title_xf)#写入工作表(1. 写入位置2. 写入数据3.表格样式
52 # worksheet.merge_range(3,2,0,4,'8585858585',report_title_xf) 合并单元格参数(first_row,first_cow.last_row,last_cow,data 样式)
53 worksheet.merge_range(0,2,4,4,'8585858585',report_title_xf)#xlsxwriter当单元格跨度为1时无法合并
54 workbook.close()

还有一个在项目中用到的时间日期格式化

vul_info_sheet.row(row_index).set_cell_date(colx_start+tmp_col_index+9, date_found,cell_date_xf)
                        vul_info_sheet.write_datetime(_index, col_index, date_found, cell_date_xf)#cell_data_xf单元格样式         date_found是datetime格式
原文地址:https://www.cnblogs.com/nanyu/p/9790817.html