qt读取excel表格数据到qtablewidget中
时间: 2025-05-12 16:27:50 浏览: 23
### 实现方案
以下是基于 Qt 和 OpenPyXL 库实现从 Excel 文件读取数据并将其显示在 `QTableWidget` 控件中的方法:
#### 依赖库安装
为了完成此任务,需先安装 Python 的第三方库 `openpyxl` 来处理 Excel 文件。可以使用以下命令安装该库:
```bash
pip install openpyxl
```
#### 主要逻辑描述
1. 使用 `openpyxl` 加载目标 Excel 文件,并提取其中的数据。
2. 创建一个 PyQt 或 PySide GUI 界面,在界面中嵌入 `QTableWidget` 控件用于展示数据。
3. 将从 Excel 提取出的数据逐行填充至 `QTableWidget`。
---
### 完整代码示例
以下是一个完整的代码示例,展示了如何加载 Excel 数据并将其实时更新到 `QTableWidget` 表格控件中[^3]。
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QVBoxLayout, QWidget
from openpyxl import load_workbook
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Excel Data Viewer")
self.setGeometry(100, 100, 800, 600)
# 初始化表格控件
self.table_widget = QTableWidget()
layout = QVBoxLayout()
layout.addWidget(self.table_widget)
container = QWidget()
container.setLayout(layout)
self.setCentralWidget(container)
# 调用函数加载 Excel 并设置表格内容
self.load_excel_data()
def load_excel_data(self):
try:
workbook = load_workbook(filename="example.xlsx") # 替换为目标文件名
sheet = workbook.active
# 获取最大行列数
max_row = sheet.max_row
max_col = sheet.max_column
# 设置表格大小
self.table_widget.setColumnCount(max_col)
self.table_widget.setRowCount(max_row)
# 填充表头
header_list = []
for col in range(1, max_col + 1):
cell_value = sheet.cell(row=1, column=col).value
if cell_value is not None:
header
阅读全文
相关推荐


















