У меня есть qtablewidet с данными, и когда пользователь нажимает кнопку экспорта, появляется диалоговое окно с запросом имени файла для сохранения в формате excel, как мне это сделать с помощью openpyxl?
вот мой код
self.exportbtn.clicked.connect(self.export)
def export(self):
try:
filename = QtWidgets.QFileDialog.getSaveFileName(self, 'Save file', '','Excel files(*.xlsx)')
wb = Workbook()
sheet = wb.active
for column in range(self.tableWidget.columnCount()):
for row in range(self.tableWidget.rowCount()):
try:
text = str(self.tableWidget.item(row, column).text())
sheet.write(row, column, text)
wb.save(filename)
except Exception as e:
print("Error Writing file.")
except Exception as e:
print("Error Saving file.")
когда я пытаюсь нажать «Сохранить» в диалоговом окне, прямо сейчас выводится это
как сохранить все данные, включая заголовки из qtablewidget, в файл excel с помощью openpyxl?
обновление: я отредактировал свой код сейчас, и я могу создать файл, но данные из qtablewidget все еще не записываются в файл excel
def export(self):
filename, filter = QtWidgets.QFileDialog.getSaveFileName(self, 'Save file', '','Excel files (*.xlsx)')
wb = Workbook()
sheet = wb.active
if not filename:
for column in range(self.tableWidget.columnCount()):
for row in range(self.tableWidget.rowCount()):
try:
text = str(self.tableWidget.item(row, column).text())
sheet.write(row, column, text)
except AttributeError:
pass
wb.save(filename)
я попытался распечатать данные из qtablewidget, и они отображаются, они просто не сохраняются в файле excel, чего-то еще не хватает?
print("Error Writing file.", e)
- person eyllanesc   schedule 18.12.2020