【Python】【openpyxl】 openpyxl 的简单封装,可以保留原格式另存为
openpyxl 的简单封装使用
·
from openpyxl import load_workbook
from openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Font, Color
class MyExcel:
def __init__(self, file):
self.file = file
self.wb = load_workbook(self.file)
self.wb.guess_types = True
# 切换到指定名字的sheet页面
def active_sheet(self, sheet_name):
self.ws = self.wb[sheet_name]
# 获取所有的sheet name
def get_sheet_names(self):
sheetnames = self.wb.sheetnames
return sheetnames
def get_value(self, add):
return self.ws[add].value
def get_value_by_rc(self, r, c):
return self.ws.cell(r, c).value
def set_value(self, add, value):
if 'H' in add:
self.ws[add].alignment = Alignment(horizontal='center', vertical='center')
self.ws[add].border = Border(bottom=Side(style='thin'))
self.ws[add].font = Font(size=10)
self.ws[add] = value
def set_value_by_rc(self, row, cloum, value):
self.ws.cell(row, cloum).value = value
# 获取某行所有值
def getRowValues(self, row):
columns = self.ws.max_column
rowdata = []
for i in range(1, columns + 1):
cellvalue = self.ws.cell(row=row, column=i).value
rowdata.append(cellvalue)
return rowdata
def save_file(self, add_name):
self.wb.save(add_name)
def remove_sheet(self, sheetname):
"""
删除sheet
"""
ws = self.wb[sheetname]
self.wb.remove(ws)
def do_close(self):
self.wb.close()
def create_sheet(self, sheet_name):
self.ws = self.wb.create_sheet(sheet_name)
return self.ws
def copy_sheet(self, worksheet):
self.wb.copy_worksheet(worksheet)
def get_max_row(self):
return self.ws.max_row
def get_max_colum(self):
return self.ws.max_column
if __name__ == "__main__":
...
可以简单复用,openpyxl 可以保留原格式另存为,方便易用,如果有兴趣欢迎关注,点赞!!!!
更多推荐
所有评论(0)