pyqt5制作表格导入界面
时间: 2023-08-11 16:56:24 浏览: 144
要使用PyQt5制作一个表格导入界面,你可以使用QFileDialog来选择Excel文件,然后使用openpyxl库读取Excel数据,并在QTableWidget中显示。
以下是一个简单的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QPushButton, QVBoxLayout, QWidget, QFileDialog
import openpyxl
import sys
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("表格导入界面")
# 创建一个按钮和表格
self.load_button = QPushButton("导入表格")
self.table_widget = QTableWidget()
# 设置按钮点击事件
self.load_button.clicked.connect(self.load_excel)
# 创建一个垂直布局,并将按钮和表格添加到布局中
layout = QVBoxLayout()
layout.addWidget(self.load_button)
layout.addWidget(self.table_widget)
# 创建一个主要的 QWidget,并将布局设置为主要的布局
widget = QWidget()
widget.setLayout(layout)
# 将主要的 QWidget 设置为中央部件
self.setCentralWidget(widget)
def load_excel(self):
# 打开文件选择对话框,选择Excel文件
file_path, _ = QFileDialog.getOpenFileName(self, "选择Excel文件", "", "Excel Files (*.xlsx)")
if file_path:
workbook = openpyxl.load_workbook(file_path)
sheet = workbook.active
# 获取行数和列数
rows = sheet.max_row
columns = sheet.max_column
# 设置表格的行数和列数
self.table_widget.setRowCount(rows)
self.table_widget.setColumnCount(columns)
# 读取数据并填充表格
for row in range(1, rows + 1):
for col in range(1, columns + 1):
cell_value = sheet.cell(row=row, column=col).value
item = QTableWidgetItem(str(cell_value))
self.table_widget.setItem(row - 1, col - 1, item)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
运行代码后,将会显示一个界面,其中包含一个"导入表格"按钮和一个表格部件。点击"导入表格"按钮将会弹出文件选择对话框,选择要导入的Excel文件后,表格将会显示Excel数据。
希望这能满足你的需求!如果有任何问题,请随时提问。
阅读全文