Я видел этот пост, добавляемый лист с помощью xlutils.copy:Добавление листа в существующем Excel файл с помощью openpyxl
https://stackoverflow.com/a/38086916/2910740
Есть ли какое-либо решение, которое использует только openpyxl?
Я видел этот пост, добавляемый лист с помощью xlutils.copy:Добавление листа в существующем Excel файл с помощью openpyxl
https://stackoverflow.com/a/38086916/2910740
Есть ли какое-либо решение, которое использует только 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
будет возвращать количество строк ваш лист будет таким, чтобы вы могли начать писать на позицию после этого.
Спасибо, но мне нужно хранить данные в excel. Мне также нужно добавить новые данные на новый лист. –
Я нашел решение. Это было очень легко:
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
Не могли бы вы уточнить, что вы хотите сделать? –
У меня есть файл excel, который содержит несколько листов, я хочу добавить новый лист в конец этого файла и вставить в него некоторые данные. –
Похоже, вам просто нужно прочитать документацию openpyxl. –