IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> excel表格设计模块openpyxl使用案例实战 -> 正文阅读

[Python知识库]excel表格设计模块openpyxl使用案例实战

作者:text-align:center;

代码示例:

# !usr/bin/env python
# -*- coding:utf-8 -*-
'''
function:设计excel表格
author:AI算法联盟
date:20220401
'''
''' 若未安装openpyxl模块,先执行pip install openpyxl进行安装'''

import pandas as pd
from openpyxl import Workbook
from openpyxl.styles import Border, Side, Font, Alignment
from openpyxl.styles import PatternFill, Color

def get_data():
    data = [["高一", 529, 797, 1326],
            ["高二", 502, 815, 1317],
            ["高三", 671, 749, 1420],
            ["总计", 1702, 2361, 4063]]
    data_df = pd.DataFrame(data, columns=["年级", "男生", "女生", "总人数"])
    return data_df

def excel_design(data_df):
    columns_num = len(data_df.columns)
    wb = Workbook()
    ws = wb[wb.sheetnames[0]]   # 选择第一张表
    ws.title = "demo" # 工作表重命名
    # 单元格背景颜色设计
    color_head = PatternFill("solid", fgColor="B1A0C7")
    color_title = PatternFill("solid", fgColor="EBF1DE")
    # 字体设计
    font_head = Font(size=16, bold=True, color="000000")
    font_title = Font(size=14, bold=True, color="000000")
    # 单元格边框设计
    border = Border(top=Side(border_style="thin", color="000000"),
                    bottom=Side(border_style="thin", color="000000"),
                    left=Side(border_style="thin", color="000000"),
                    right=Side(border_style="thin", color="000000"))
    # 居中对齐,允许换行
    align = Alignment(horizontal="center", vertical="center", wrap_text=True)
    # 头部单元格合并
    ws.merge_cells(start_row=1, end_row=1, start_column=1, end_column=columns_num)
    ws.cell(row=1, column=1, value="深圳市某高级中学学生人数统计").fill = color_head
    ws.cell(row=1, column=1).font = font_head  # 头部字体设置
    ws.cell(row=1, column=1).border = border   # 头部边框设置
    ws.cell(row=1, column=1).alignment = align # 头部对齐设置

    ws.row_dimensions[1].height = 36  # 头部行高设置36
    ws.row_dimensions[2].height = 24  # 标题行高设置24
    letters = ["A", "B", "C", "D", "E", "F"]
    for c in range(columns_num):
        ws.column_dimensions[letters[c]].width = 16  # 每列宽度设置16
        # 标题数据填充
        value = data_df.columns[c]
        # 列从1开始,故需加1
        ws.cell(row=2, column=c+1, value=value).fill = color_title  # 填充数据并设置背景颜色
        ws.cell(row=2, column=c+1).font = font_title                # 字体大小设置
        ws.cell(row=2, column=c+1).border = border                  # 添加边框
        ws.cell(row=2, column=c+1).alignment = align                # 对齐

    start_row = 3   # 从第3行开始填充数据
    for i in range(len(data_df)):
        start_col = 1  # 每次都是从第1列开始填充数据
        ws.row_dimensions[start_row].height = 24 # 行高设置为24
        for j in range(columns_num):
            value = data_df.iloc[i, j]
            ws.cell(row=start_row, column=start_col, value=value)  # 填充数据
            ws.cell(row=start_row, column=start_col).border = border # 添加边框
            ws.cell(row=start_row, column=start_col).alignment = align # 对齐
            start_col += 1
        start_row += 1

    # 保存excel表格
    wb.save("demo.xlsx")

if __name__ == "__main__":
    data = get_data()
    excel_design(data)

运行效果:

?

?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 12:06:36  更:2022-04-04 12:10:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:44:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码