所以,我有一個QTableWidget的,我希望把它保存到使用xlwt模塊.xls文件...PyQt的:QTableWidget的,以.xls文件
下面的代碼:
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
但即寫出只能從小區0,0,並沒有別的文本...
我認爲,我已經取得了一些嚴重的錯誤......
更新:
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
問題解決了......
任何想法?任何人? – Antoni4040 2012-08-08 11:34:08
對於你的問題 - 與self.tableWidget.item(row,col).text()),我得到一個「NoneType」的錯誤,該對象沒有值「文本」。有任何想法嗎?感謝您發佈此信息 - 非常有幫助! – 2012-09-26 20:52:14
也許這是因爲沒有文本給一個特定的單元格,請使用「try:」和「除了NoneTypeError:」並告訴我你得到了什麼...順便說一句,你是否將它轉換爲字符串?那麼,我不會有這樣的錯誤... – Antoni4040 2012-09-27 12:49:18