需求
有一个账单,需要生成一个副本,但是需要将交易员列隐藏,不能改变原有的格式
xlsx的文件容易实现,使用openpyxl实现
xls的文件使用xlrd+xlutil实现
参考了https://segmentfault.com/q/1010000008270267
class GenCopyReport(object):
"""生成账单备份,删除交易员列
"""
def __init__(self, filename, broker_code) -> None:
self.filename = filename
self.broker_code = broker_code
self.file_type = filename.split(".")[-1]
def remove_col(self, content, sheet_name, col_name, skiprows):
"""删除指定sheet页指定列
:param content: 二进制文件
:param sheet_name: sheet 页名
:param col_name: 列名
:param skiprows: 列名所在行
:raises ValueError: 异常
:return: bytes | None
"""
# 判断文件格式是 .xls 还是 .xlsx
if self.file_type == "xls":
# 处理 .xls 文件
return self.remove_col_xls(content, sheet_name, col_name, skiprows)
elif self.file_type ==