Python 写入Excel文件(后缀名分别为.xlsx和.xls)


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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM