> 文档中心 > Excel自动化处理相关知识(一)

Excel自动化处理相关知识(一)

一、读取excel表格的数据——xlrd 1.1 安装 可使用pycharm搜索xlrd安装,也可在virtualenv中执行以下操作: pip install xlrd 1.2 使用方法 import xlrd #读取目标excel表 xlsx = xlrd.open_workbook('d:/7月下旬入库表.xlsx') #读取excel表中第一个工作簿 table = xlsx.sheet_by_index(0) #读取第一行,第一列的数据 print(table.cell_value(0, 0)) # 获取所有sheet名字:xlsx.sheet_names() # 获取sheet数量:xlsx.nsheets 二、将数据写入excel表——xlwt 2.1 安装 可使用pycharm搜索xlwt安装,也可在virtualenv中执行以下操作: pip install xlwt 2.2 使用方法 import xlwt #创建一个excel表对象 new_workbook = xlwt.Workbook() #在excel表中创建一个新的工作簿 worksheet = new_workbook.add_sheet('new_test') #在工作簿中的第一行第一列写入内容 worksheet.write(0, 0, 'test') #将excel表保存到本地 new_workbook.save('d:/test.xls') 三、实战案例一 3.1 需求:逐行读取旧表的内容,将其写入到新表中 3.2 代码实现: import xlrd,xlsxwriter #读取旧表 xlsx = xlrd.open_workbook('d:/7月下旬入库表.xlsx') #创建新表 new_workbook = xlsxwriter.Workbook('d:/test.xlsx') #创建新工作簿 worksheet = new_workbook.add_worksheet() #读取旧表的第一个工作簿 table = xlsx.sheet_by_index(0) #遍历,将读取到的数据写入到新表 for i in range(0,table.nrows):     for j in range(0,table.ncols):         worksheet.write(i, j, table.cell_value(i, j)) new_workbook.close() 四、工具类xlutils和写入数据的样式 4.1 复制模板 from xlutils.copy import copy tem_excel = xlrd.open_workbook('D:/日统计.xls', formatting_info=True) tem_sheet = tem_excel.sheet_by_index(0) #将旧表的样式复制到新表中 new_excel = copy(tem_excel) new_sheet = new_excel.get_sheet(0) 4.2 设置写入数据的样式 style = xlwt.XFStyle() #设置字体 font = xlwt.Font() font.name = '微软雅黑' font.bold = True font.height = 360 style.font = font #设置边框为细边框 borders = xlwt.Borders() borders.top = xlwt.Borders.THIN borders.bottom = xlwt.Borders.THIN borders.left = xlwt.Borders.THIN borders.right = xlwt.Borders.THIN style.borders = borders #设置对齐格式为居中对齐 alignment = xlwt.Alignment() alignment.horz = xlwt.Alignment.HORZ_CENTER alignment.vert = xlwt.Alignment.VERT_CENTER style.alignment = alignment #以指定的格式写入数据 new_sheet.write(2, 1, 12, style) new_sheet.write(3, 1, 18, style) new_sheet.write(4, 1, 19, style) new_sheet.write(5, 1, 15, style) #保存 new_excel.save('D:/填写.xls')