Python使用策略模式和openpyxl库创建Excel文件并追加内容

python 复制代码
from openpyxl import load_workbook

# 数据数组
data = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

# 打开现有的 Excel 文件
excel_file = 'sheetApend_example.xlsx'
wb = load_workbook(excel_file)

# 选择要追加数据的工作表
sheet_name = 'test_Sheet2'  # 指定要追加数据的工作表名称
sheet = wb[sheet_name]

# 追加数据到工作表末尾
for row in data:
    sheet.append(row)

# 保存修改后的 Excel 文件
wb.save(excel_file)
python 复制代码
import openpyxl
from openpyxl import load_workbook
from openpyxl.styles import Font, PatternFill, Alignment


class ExcelManager():
    def createExcel(self, filename, sheetName,headers ):
        pass
    def appendDataToExcel(self, filename, sheetName,content ):
        pass


class CreateExcelManager(ExcelManager):
    def createExcel(self, filename, sheetName,headers ):
        # 创建一个新的Excel工作簿
        wb = openpyxl.Workbook()

        # 获取默认的活动工作表
        sheet = wb.active

        # 定义表头数据
        headers = headers

        # 将表头数据写入第一行
        sheet.append(headers)
        # 将表头数据写入第一行,并设置字体加粗
        header_row = sheet[1]
        for cell in header_row:
            cell.font = Font(bold=True)
            cell.fill = PatternFill(start_color="FFC000", end_color="FFC000", fill_type="solid")  # 设置为橙色背景
            cell.alignment = Alignment(horizontal='center', vertical='center')  # 居中对齐

        # 修改默认的工作表名称
        sheet.title = sheetName

        # 保存Excel文件
        wb.save(filename)

        print(f"Excel文件 {filename} 创建成功")

class ApendDataToExcelManager(ExcelManager):
    def appendDataToExcel(self, filename, sheetName,content ):
        # 数据数组
        # data = [
        #     [1, 2, 3],
        #     [4, 5, 6, 7],
        #     [7, 8, 9]
        # ]
        data = content
        # 打开现有的 Excel 文件
        excel_file = filename
        wb = load_workbook(excel_file)

        # 选择要追加数据的工作表
        sheet_name = sheetName  # 指定要追加数据的工作表名称
        sheet = wb[sheet_name]

        # 追加数据到工作表末尾
        for row in data:
            sheet.append(row)

        # 保存修改后的 Excel 文件
        wb.save(excel_file)

        print(f"Excel文件 {filename} 追加内容成功")



file_Name = 'excel_example.xlsx'
sheet_name = 'test_sheet1'  # 指定要追加数据的工作表名称
headers = ['A', 'B','C','D']

data = [
    [1, 2, 3],
    [4, 5, 6, 7],
    [7, 8, 9],
    ['a','b','N/A',' ','e']
]

createExcelManager = CreateExcelManager()
createExcelManager.createExcel(file_Name,sheet_name,headers)

apendDataToExcelManager = ApendDataToExcelManager()
apendDataToExcelManager.appendDataToExcel(file_Name,sheet_name,data)

Excel文件 excel_example.xlsx 创建成功

Excel文件 excel_example.xlsx 追加内容成功

相关推荐
lly2024065 分钟前
Bootstrap 折叠组件详解
开发语言
无限进步_6 分钟前
【C++&string】大数相乘算法详解:从字符串加法到乘法实现
java·开发语言·c++·git·算法·github·visual studio
pzx_00133 分钟前
【优化器】 随机梯度下降 SGD 详解
人工智能·python·算法
‎ദ്ദിᵔ.˛.ᵔ₎33 分钟前
模板template
开发语言·c++
大邳草民33 分钟前
Python 中 global 与 nonlocal 的语义与机制
开发语言·笔记·python
charlie11451419140 分钟前
通用GUI编程技术——图形渲染实战(二十九)——Direct2D架构与资源体系:GPU加速2D渲染入门
开发语言·c++·学习·架构·图形渲染·win32
历程里程碑1 小时前
二叉树---二叉树的中序遍历
java·大数据·开发语言·elasticsearch·链表·搜索引擎·lua
程序员小远1 小时前
软件测试用例总结
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
2501_948114241 小时前
技术解码:Gemini交互式模拟API与高负载网关的选型逻辑
人工智能·python·ai
无限进步_1 小时前
【C++】验证回文字符串:高效算法详解与优化
java·开发语言·c++·git·算法·github·visual studio