利用pyqt5与xlwt写一个按钮按下保存QTableWIdget数据与标题为excel程序
时间: 2023-04-04 15:03:52 浏览: 114
PyQt5按钮点击次数限制 实现按钮只能点击三次
5星 · 资源好评率100%
好的,我可以回答这个问题。您可以使用以下代码实现:
```python
import xlwt
from PyQt5.QtWidgets import QTableWidget, QPushButton, QApplication, QMainWindow, QTableWidgetItem
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.tableWidget = QTableWidget(self)
self.tableWidget.setGeometry(50, 50, 400, 200)
self.tableWidget.setColumnCount(3)
self.tableWidget.setRowCount(2)
self.tableWidget.setItem(0, 0, QTableWidgetItem("1"))
self.tableWidget.setItem(0, 1, QTableWidgetItem("2"))
self.tableWidget.setItem(0, 2, QTableWidgetItem("3"))
self.tableWidget.setItem(1, 0, QTableWidgetItem("4"))
self.tableWidget.setItem(1, 1, QTableWidgetItem("5"))
self.tableWidget.setItem(1, 2, QTableWidgetItem("6"))
self.saveButton = QPushButton("Save", self)
self.saveButton.setGeometry(200, 300, 100, 30)
self.saveButton.clicked.connect(self.saveTable)
def saveTable(self):
fileName = "table.xls"
wb = xlwt.Workbook()
sheet = wb.add_sheet("Sheet 1")
for i in range(self.tableWidget.rowCount()):
for j in range(self.tableWidget.columnCount()):
item = self.tableWidget.item(i, j)
if item is not None:
sheet.write(i, j, str(item.text()))
wb.save(fileName)
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
```
这个程序创建了一个包含数据的 QTableWidget 和一个保存按钮。当用户点击保存按钮时,程序将数据保存到一个名为 "table.xls" 的 Excel 文件中。
阅读全文