1、写入xls文件
①下载依赖库 xlwt
python -m pip install xlwt
②普通写入
# encoding=utf-8 # 下载 python -m pip install xlwt import xlwt if __name__ == \'__main__\': book = xlwt.Workbook() # 创建一个新的工作簿 sheet = book.add_sheet(\'工作表\') # 添加一个工作表 sheet.write(0, 0, \'嘻嘻\') # 写入数据到几行几列 sheet.write(0, 1, \'哈哈\') # 写入数据到几行几列 sheet.write(0, 2, \'嘿嘿\') # 写入数据到几行几列 sheet.write(1, 0, \'南风\') # 写入数据到几行几列 sheet.write(2, 0, \'轻语\') # 写入数据到几行几列 sheet.write(3, 0, \'鼓楼\') # 写入数据到几行几列 book.save(\'工作簿.xls\') # 保存工作薄, 如果保存后缀名为 .xlsx 则在 Microsoft Excel 可能会报错
运行结果
提示:
正常应该保存后缀名为.xls,因为xlwt就是以xls的格式写文件的。
如果保存的后缀名为.xlsx,则在WPS中可以正常打开,因为WPS兼容性好,而在Microsoft Excel中会报以下错误
③设置单元格格式
# -*- encoding=utf-8 -*- import xlwt if __name__ == \'__main__\': book = xlwt.Workbook() # 创建工作薄 sheet = book.add_sheet(\'工作表\') # 添加工作表 sheet.write(0, 0, \'不设置样式\') # 写入数据 align = xlwt.Alignment() align.horz = xlwt.Alignment.HORZ_CENTER # 水平居中 align.vert = xlwt.Alignment.VERT_CENTER # 垂直居中 font = xlwt.Font() # 字体基本设置 font.name = u\'新宋体\' font.colour_index = 32764 # 字体颜色 font.height = 160 # 字体大小 borders = xlwt.Borders() borders.left = xlwt.Borders.THIN # 添加边框,细实线 borders.right = xlwt.Borders.THIN # 添加边框,细实线 borders.top = xlwt.Borders.THIN # 添加边框,细实线 borders.bottom = xlwt.Borders.THIN # 添加边框,细实线 sheet.col(3).width = 12 * 256 # 设置列宽,一个中文等于两个英文等于两个字符,12为字符数,256为衡量单位 pattern = xlwt.Pattern() pattern.pattern = xlwt.Pattern.SOLID_PATTERN # 设置背景颜色的模式 pattern.pattern_fore_colour = 2 # 背景颜色 style = xlwt.XFStyle() # 设置样式 style.font = font # 字体样式 style.alignment = align # 排列样式 style.borders = borders # 边框样式 style.pattern = pattern # 背景 sheet.write(3, 3, \'设置单元格格式\', style) book.save(\'style.xls\')
运行结果
xls单元格格式学习链接: https://blog.csdn.net/weixin_44065501/article/details/88899257
④合并单元
# -*- encoding=utf-8 -*- import xlwt if __name__ == \'__main__\': workbook = xlwt.Workbook() # 创建工作薄 sheet1 = workbook.add_sheet(\'工作表\') # 创建工作表 sheet1.write_merge(0, 0, 0, 1, \'合并单元格\') # 合并从0行到0行,从0列到1列 sheet1.write_merge(2, 4, 0, 3, \'合并单元格\') # 合并从2行到4行,从0列到3列 workbook.save(\'merge.xls\')
运行结果
二、写入xlsx文件
①下载依赖库
python -m pip install openpyxl
②普通写入
# encoding=utf-8 import openpyxl if __name__ == \'__main__\': book = openpyxl.Workbook() # 创建空白工作薄 sheet = book.active # 获取当前默认工作表 sheet.name = \'工作表\' # 修改工作表名称 sheet.cell(1, 1, \'数据\') # 几行几列写入数据 sheet.cell(1, 2, \'数据\') # 几行几列写入数据 sheet.cell(1, 3, \'数据\') # 几行几列写入数据 sheet.cell(1, 4, \'数据\') # 几行几列写入数据 sheet.cell(2, 1, \'数据\') # 几行几列写入数据 sheet.cell(3, 2, \'数据\') # 几行几列写入数据 sheet.cell(4, 3, \'数据\') # 几行几列写入数据 sheet.cell(5, 4, \'数据\') # 几行几列写入数据 data = [[\'数据1\', \'数据2\', \'数据3\'], [\'数据1\', \'数据2\', \'数据3\'], [\'数据1\', \'数据2\', \'数据3\']] for one in data: sheet.append(one) # 写入一行 book.save(\'普通写入.xlsx\') # 保存为 xlsx 格式文件 如果保存为xls, 则 Microsoft Excel 可能会报警告
运行结果
提示:
正常应该保存后缀名为.xlsx,因为openpyxl就是以xlsx格式写文件的。
如果保存的后缀名为.xls,则在WPS中可以正常打开,因为WPS兼容性好,而在Microsoft Excel中会报以下警告
③设置单元格格式
# encoding=utf-8 import openpyxl from openpyxl.styles import * from openpyxl.styles.colors import COLOR_INDEX if __name__ == \'__main__\': book = openpyxl.Workbook() # 创建空白工作薄 sheet = book.active # 获取当前默认工作表 sheet.name = \'工作表\' # 修改工作表名称 sheet.cell(1, 1, \'数据\', ) # 几行几列写入数据 cell = sheet.cell(1, 1) cell.font = Font(color=Color(rgb=COLOR_INDEX[2])) book.save(\'颜色.xlsx\') # 保存为 xlsx 格式文件 如果保存为xls, 则 Microsoft Excel 可能会报警告
更详细的xlsx格式学习链接 https://www.py.cn/jishu/jichu/20317.html
文档链接 https://www.osgeo.cn/openpyxl/styles.html