提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
平时工作中需要整理数据的场景比较多,所以常用到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<