pyqt5根据excel表生成表格控件
时间: 2023-07-05 14:04:49 浏览: 111
你可以使用 `openpyxl` 模块来读取 Excel 文件中的数据,然后将其插入到 `QTableWidget` 中,以生成表格控件。
以下是一个简单的示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem
from openpyxl import load_workbook
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建表格控件
self.tableWidget = QTableWidget()
self.setCentralWidget(self.tableWidget)
# 加载 Excel 文件
wb = load_workbook('data.xlsx')
ws = wb.active
# 获取数据并插入到表格控件中
rows = ws.max_row
cols = ws.max_column
self.tableWidget.setRowCount(rows)
self.tableWidget.setColumnCount(cols)
for i in range(1, rows+1):
for j in range(1, cols+1):
cell = ws.cell(row=i, column=j)
self.tableWidget.setItem(i-1, j-1, QTableWidgetItem(str(cell.value)))
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
```
在上面的示例代码中,我们首先创建了一个 `QTableWidget` 对象,并将其设置为主窗口的中心控件。然后,我们使用 `openpyxl` 模块加载 Excel 文件,并获取其中的数据。最后,我们将数据插入到表格控件中。
注意,上面的示例代码中使用了 `QTableWidgetItem` 类来创建单元格。如果需要更复杂的单元格,你可以自定义单元格的样式和内容。
阅读全文