python生成excel的xlsxwriter模块简单使用

1. 基本实现

import xlsxwriter  # 导入模块

# 这里提供一种直接保存到桌面的方法 返回值为本机桌面地址路径
def get_desktop():
    key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders')
    return winreg.QueryValueEx(key, "Desktop")[0]


url = get_desktop()+"/new_excel.xlsx" # 桌面路径与文件名相加

workbook = xlsxwriter.Workbook(url)  # 新建excel表,可写不使用以上函数自己写入要保存的路径

worksheet = workbook.add_worksheet()  # 新建sheet,也可设置为sheet的名称为"sheet1"等自定义字段

headings = ['时间', "姓名", '年龄']  # 设置表头数据

data = [
    ['2021-8-1', '2021-8-2', '2021-8-3', '2021-8-4', '2021-8-5', '2021-8-6'],
    ["张三", "李四", "王五", "赵六", "横七", "竖八"],
    [30, 60, 70, 50, 40, 30],
]  # 每一个列表代表excel中一列的数据

worksheet.write_row('A1', headings)  # 插入表头

# 按列插入
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
worksheet.write_column('C2', data[2])

# 也可根据需求按行插入
worksheet.write_row("A8", data[0])
worksheet.write_row("A9", data[1])
worksheet.write_row("A10", data[2])

workbook.close()  # 将excel文件保存关闭

生成的excel样式如下

 2. 自定义格式

2.1通过字典的方式直接设置格式

workfomat2 = workbook.add_format({
    'bold': True,  # 字体加粗
    'border': 1,  # 单元格边框宽度
    'align': 'left',  # 对齐方式
    'valign': 'vcenter',  # 字体对齐方式
    'bg_color': 'yellow',  # 单元格背景颜色
})

# 按列插入
worksheet.write_column('A2', data[0], cell_format=workfomat2)
worksheet.write_column('B2', data[1], cell_format=workfomat2)
worksheet.write_column('C2', data[2], cell_format=workfomat2)

2.2 通过format对象的方式设置单元格格式

workfomat = workbook.add_format()  # 新建表格样式
workfomat.set_bold(True)  # 字体加粗
workfomat.set_border(1)  # 边框宽度
workfomat.set_num_format('0.00')  # 格式化数据格式为小数点后两位
workfomat.set_align('center')  # 设置对齐方式
workfomat.set_bg_color('pink')  # 设置单元格背景颜色

worksheet.write_row('A1', headings, cell_format=workfomat)  # 插入表头

2.3 其他格式方法

单元格的一些操作 方法还有很多 可根据需求自行研究

worksheet.merge_range('D1:D7', '合并单元格')  # 合并单元格
worksheet.set_tab_color('red')  # 设置sheet标签颜色
worksheet.set_column('A:D', 25)  # 设置A到D列的列宽为25
worksheet.write_formula('C10', '=C2+C3')  # 设置表格中的计算,‘C10’是计算结果,'=C2+C3'是计算公式

最终效果如下

参考地址:https://www.cnblogs.com/brightbrother/p/8671077.html

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值