数据导出excel的通用python代码

将数据导出excel的通用代码

在实际的项目开发中,一些重要数据需要保存到excel文件中,或者需要提供下载的功能,都会用到将数据导出excel的代码。

本文介绍了将数据导出excel的通用python代码,对创建excel文件、写数据等过程进行了封装,开箱即用,且可复用。

import string
import xlsxwriter
from faker import Faker


def export_to_excel(filename, col_items, datas):
    """将信息导出为excel文件

    Args:
        filename (str): 文件名
        col_items (list): 列名
        datas (list): 数据信息

    """

    # 生成.xlsx文件
    workbook = xlsxwriter.Workbook(f'{
     filename}.xlsx')

    # 设置sheet页签名称
    table = workbook.add_worksheet(filename)

    # 表头居中,背景灰色,字体颜色为白色
    header_format = workbook.add_format({
   'align': 'center', 
                                         'bg_color': 'gray',
                                         "color": "white", 
                                         "font": "宋体", 
                                         "bold": True, 
                                         "border": 1})

    # 数据样式:居中,带边框,字体
    data_format = workbook.add_format({
   'align': 'center', "border": 1})
    data_format.set_font("Calibri Light")  

    # 26个英文字母,大写
    chars = string.ascii_uppercase

    # 设置列名及宽度
    for idx, col in enumerate(col_items):
        # 列名,宽度
        col_name, col_width = col
        col_code = chars[idx]

        # 写入列名
        table.write(0, idx, col_name, header_format)
        table.set_column(f'{
     col_code}:{
     col_code}', col_width)

    # 列数
    col_num = len(col_items)
    # 循环写入数据
    for index, item in enumerate(datas):
        # 一行为一条数据
        row = index + 1
        for i in range(col_num):
            table.write(row, i, item[i], data_format)

    # 关闭
    workbook.close()


if __name__ == "__main__":

    # 构造数据
    faker_obj = Faker(locale='zh')

    # 文件名
    filename ='人员名单' 

    # 列名
    cols = [('序号', 10), ('姓名', 20)]

    # 构造数据
    datas= []
    for i in range(10):
        datas.append((i + 1, faker_obj.name()))

    # 将数据信息导出到excel文件中
    export_to_excel(filename, cols, datas)

测试上述代码,生成的excel文件如下图所示:
在这里插入图片描述

相关推荐

  1. 通用excel公式转python代码方法

    2024-01-12 16:08:02       10 阅读
  2. Spring boot实现低代码Excel导入导出

    2024-01-12 16:08:02       16 阅读
  3. 0221 解决万得导出数据excel无法python读入问题

    2024-01-12 16:08:02       29 阅读
  4. Excel 导入导出封装

    2024-01-12 16:08:02       19 阅读
  5. koa2+vue3通过exceljs实现数据导出excel文档

    2024-01-12 16:08:02       21 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-12 16:08:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-12 16:08:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-12 16:08:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-12 16:08:02       18 阅读

热门阅读

  1. 「BUG」启动jar配置文件里的参数无法替换。

    2024-01-12 16:08:02       41 阅读
  2. 如何识别bootstrap版本?

    2024-01-12 16:08:02       31 阅读
  3. Golang 单元测试

    2024-01-12 16:08:02       34 阅读
  4. go语言的http post推送

    2024-01-12 16:08:02       33 阅读
  5. LNMP平台对接redis服务

    2024-01-12 16:08:02       25 阅读
  6. 力扣(leetcode)第541题反转字符串II(Python)

    2024-01-12 16:08:02       35 阅读