from colorama import init
init(autoreset=True)
from openpyxl.styles import Alignment
import openpyxl as op
class Basic(object):
def save_excel(self, excel, data, sheet="Sheet"):
if os.path.exists(excel):
wb = op.load_workbook(excel)
if sheet not in wb.sheetnames:
wb.create_sheet(sheet)
ws = wb[sheet]
else:
wb = op.Workbook()
ws = wb["Sheet"]
ws.title = sheet
for row in data:
ws.append(row)
try:
wb.save(excel)
self.print_log("生成文件: {}文件{}页数据输出完成".format(excel, sheet), 1)
except Exception as e:
self.print_log("生成文件: {}文件失败,原因:{}".format(excel, e), 3)
def save_compare_excel(self, excel, data, sheet="Sheet"):
wb = op.Workbook()
ws = wb["Sheet"]
ws.title = sheet
ws.column_dimensions['A'].width = 80
ws.column_dimensions['B'].width = 80
for row in data:
ws.append(row)
for cell in ws['A']:
cell.alignment = Alignment(vertical='top', wrap_text=True)
for cell in ws['B']:
cell.alignment = Alignment(vertical='top', wrap_text=True)
try:
wb.save(excel)
self.print_log("生成对比文件: {}文件{}页数据完成".format(excel, sheet), 1)
except Exception as e:
self.print_log("生成对比文件: {}文件失败,原因:{}".format(excel, e), 3)
@staticmethod
def print_log(log, level=0):
if level == 3:
log = '[\033[91mError\033[0m] {}'.format(log)
if level == 2:
log = "[\033[33mWarning\033[0m] {}".format(log)
if level == 1:
log = "[\033[92mInfo\033[0m] {}".format(log)
print(log)
【python】openpyxl写入excel不同sheet和设置自动换行
最新推荐文章于 2023-08-09 00:35:22 发布