Как сохранить данные из QTableWidget в .xls?
ситуация такая: программа на python 3 создает и заполняет таблицу qtablewidget данными, в ней есть текст и картинки. Хочу все это дело импортировать в exel, т.е. в .xls файлик. Для работы с xls использовал xlrd и xlwt.
Проблема в том, что я не знаю как сохранить картинки, с импортом текста проблем нет. И второй вопрос, как реализовать процесс сохранения по типу "сохранить как", т.е. чтобы я мог выбрать путь сохранения .xls файла?
Функция сохранения данных с таблицы в xls имеет такой вид:
def get_data(self):
rb = xlrd.open_workbook('D:\\12345.xls',formatting_info=True)
sheet = rb.sheet_by_index(0)
wb = xlwt.Workbook()
ws = wb.add_sheet('111')
rows = self.table.rowCount()
cols = self.table.columnCount()
data = []
for row in range(rows):
tmp = []
for col in range(cols):
try:
tmp.append(self.table.item(row,col).text())
except:
tmp.append('No data')
data.append(tmp)
i=0
for n in data:
ws.write(i,0,n[0])
ws.write(i,1,n[1])
ws.write(i,2,n[2])
ws.write(i,3,n[3])
ws.write(i,4,n[4])
ws.write(i,5,n[5])
ws.write(i,6,n[6])
ws.write(i,7,n[7])
i=i+1
wb.save('D:\\12345_rec.xls')
Ответы (1 шт):
Автор решения: Alexander Chernin
→ Ссылка
Ответ на первый вопрос (отсюда):
# Вставка изображения
worksheet.write('A2', 'Insert an image in a cell:')
worksheet.insert_image('B2', 'python.png')
Второй. Воспользоваться QFileDialog.getSaveFileName:
fileName, _ = QFileDialog.getSaveFileName(self, "Save excel-file", "", "Excel Files (*.xls)")
if fileName:
...
wb.save(fileName)