Also, ich habe eine QTableWidget, dass ich es auf eine .xls-Datei mit dem xlwt Modul speichern möchten ...PyQt: QTableWidget-Datei .xls
Hier ist der Code:
def savefile(self):
filename = unicode(QtGui.QFileDialog.getSaveFileName(self, 'Save File', '', ".xls(*.xls)"))
wbk = xlwt.Workbook()
self.sheet = wbk.add_sheet("sheet")
self.row = 0
self.col = 0
self.add2(self.row, self.col)
wbk.save(filename)
def add2(self, row, col):
for i in range(self.tableWidget.columnCount()):
for x in range(self.tableWidget.rowCount()):
try:
teext = str(self.tableWidget.item(row, col).text())
self.sheet.write(row, col, teext)
row += 1
except AttributeError:
pass
col += 1
Aber dass schreibt nur den Text aus der Zelle 0,0 und sonst nichts ...
ich denke, dass ich einige schwere Fehler gemacht haben ...
Update:
def savefile(self):
filename = unicode(QtGui.QFileDialog.getSaveFileName(self, 'Save File', '', ".xls(*.xls)"))
wbk = xlwt.Workbook()
self.sheet = wbk.add_sheet("sheet", cell_overwrite_ok=True)
self.add2()
wbk.save(filename)
def add2(self):
row = 0
col = 0
for i in range(self.tableWidget.columnCount()):
for x in range(self.tableWidget.rowCount()):
try:
teext = str(self.tableWidget.item(row, col).text())
self.sheet.write(row, col, teext)
row += 1
except AttributeError:
row += 1
row = 0
col += 1
das Problem gelöst ...
Irgendwelche Ideen? Jemand? – Antoni4040
Frage für Sie - mit der self.tableWidget.item (row, col) .text()), bekomme ich einen "NoneType" -Fehler, dass das Objekt keinen Wert "text" hat. Irgendwelche Ideen? Danke für das Posten dieses - sehr hilfreich! –
Vielleicht liegt es daran, dass zu einer bestimmten Zelle kein Text vorhanden war, benutze "try:" und "except NoneTypeError:" und sag mir, was du bekommst ... Übrigens, hast du es in eine Zeichenkette umgewandelt? Nun, ich bekomme keine Fehler so ... – Antoni4040