使用 openpyxl 将 sheet 附加到现有的 excel 文件
Append a sheet to an existing excel file using openpyxl
我看到这个 post 使用 xlutils.copy 附加一个 sheet:
有没有只使用openpyxl的解决方案?
我建议将数据存储在 CSV 文件中,这是一种普遍存在的文件格式,专门用于存储表格数据。 Excel 完全支持它,就像大多数开源 Excel-esque 程序一样。
在那种情况下,就像打开一个文件并附加到它一样简单,而不是写入或读取:
with open("output.csv", "a") as csvfile:
wr = csv.writer(csvfile, dialect='excel')
wr.writerow(YOUR_LIST)
至于Openpyxl:
end_of_sheet = your_sheet.max_row
将 return 你的 sheet 有多少行,以便你可以开始写入之后的位置。
我找到了解决方案。非常简单:
def store_excel(self, file_name, sheet_name):
if os.path.isfile(file_name):
self.workbook = load_workbook(filename = file_name)
self.worksheet = self.workbook.create_sheet(sheet_name)
else:
self.workbook = Workbook()
self.worksheet = self.workbook.active
self.worksheet.title = time.strftime(sheet_name)
.
.
.
self.worksheet.cell(row=row_num, column=col_num).value = data
我看到这个 post 使用 xlutils.copy 附加一个 sheet:
有没有只使用openpyxl的解决方案?
我建议将数据存储在 CSV 文件中,这是一种普遍存在的文件格式,专门用于存储表格数据。 Excel 完全支持它,就像大多数开源 Excel-esque 程序一样。
在那种情况下,就像打开一个文件并附加到它一样简单,而不是写入或读取:
with open("output.csv", "a") as csvfile:
wr = csv.writer(csvfile, dialect='excel')
wr.writerow(YOUR_LIST)
至于Openpyxl:
end_of_sheet = your_sheet.max_row
将 return 你的 sheet 有多少行,以便你可以开始写入之后的位置。
我找到了解决方案。非常简单:
def store_excel(self, file_name, sheet_name):
if os.path.isfile(file_name):
self.workbook = load_workbook(filename = file_name)
self.worksheet = self.workbook.create_sheet(sheet_name)
else:
self.workbook = Workbook()
self.worksheet = self.workbook.active
self.worksheet.title = time.strftime(sheet_name)
.
.
.
self.worksheet.cell(row=row_num, column=col_num).value = data