python-openpyxl库常用方法封装

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

平时工作中需要整理数据的场景比较多,所以常用到openpyxl库的方法,为了自己方便,就把常用的一些方法封装到一起。
后续想法直接连接数据源,通过连接数据源,执行sql后将数据根据sql语句中列写入到excel中。当前版本只是excel一些方法的封装


一、使用库

1.openpyxl
2.os
3.sys

二、使用步骤

1.主要方法

数据的写入、读取、合并单元格和增加边框线

2.具体实现

代码如下:

import os
import sys

from openpyxl import Workbook
from openpyxl.styles import Border, Side

PATH = os.path.dirname(os.path.dirname(__file__))
test_path = os.path.dirname(__file__)
import openpyxl as openpyxl
'封装openxy库'

class OpenXlTool():
    '初始化excel数据'
    def __init__(self,filepath):
        self.filepath =filepath
        self.open_excel = openpyxl.load_workbook(filename=self.filepath)

    #根据下标获取excel列表sheet数据
    def getSheetsData(self,index):
        try:
            sheet_data = self.open_excel.worksheets[index-1]

        except IndexError:

            print( '当前excel共有{0}个sheet,输入的下标{1}'.format(len(self.getSheetsList),index-1))
            sys.exit()
        return sheet_data

    '创建sheet页'
    def add_sheet_name(self,sheet_name):
        sheet_list = self.getSheetsList
        if sheet_name in sheet_list:
            sys.exit('sheet名称已存在,当前excel,sheet名称%s'%(sheet_list))
        '获取当前excel表sheet总长,在最后插入新sheet'
        len_sheet = len(self.getSheetsList)-1
        self.open_excel.create_sheet(sheet_name,len_sheet+1)
        self.saveExcel(self.filepath)


    '创建新excel表格'
    @staticmethod
    def addExcel(filename):
        '创建工作表对象'
        create_work = Workbook()
        create_work.create_sheet('result')
        curr_path = os.getcwd()
        file_name = curr_path+ '\\' +filename
        # if os.path.exists(file_name):
        #     return '文件名称重复'
        # else:
        create_work.save(file_name)


    '获取表格sheet信息,返回list'
    @property
    def getSheetsList(self):
        return self.open_excel.sheetnames

    '读取excel表头数据--按列表输出。示例:[[1,2,3],[4,5,6]]'
    def getExcelDataList(self,index):
        row_line = self.getSheetsData(index).rows
        excel_data_list = []
        for row in row_line:
            excel_list =[]
            for cell in row:
                cell_values = str(cell.value)
                excel_list.append<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值