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写文件
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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表格,保存文件名
然后是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格式