pyqt5导入excel显示数据
时间: 2023-10-22 14:05:20 浏览: 58
可以通过以下步骤实现pyqt5导入excel显示数据:
1. 安装openpyxl模块:在命令行中输入pip install openpyxl 来安装openpyxl模块。
2. 导入模块:在pyqt5代码中导入openpyxl模块。
3. 选择文件:通过QFileDialog模块提供的getOpenFileName()方法,选择要导入的Excel文件。
4. 打开Excel文件:使用openpyxl模块中的load_workbook()方法打开Excel文件。
5. 获取工作表:使用openpyxl模块中的active属性,获取活动工作表。
6. 读取数据:通过循环访问工作表中的行和列,将数据存储到列表中。
7. 显示数据:将列表中的数据显示到pyqt5窗口中。
以上是pyqt5导入excel显示数据的步骤,具体的代码实现可以参考以下代码:
```
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog
from openpyxl import load_workbook
class ExcelViewer(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('Excel Viewer')
self.resize(800, 600)
# 添加一个列表控件,用于显示Excel中的数据
self.tableWidget = QTableWidget(self)
self.setCentralWidget(self.tableWidget)
# 添加一个菜单栏,用于打开Excel文件
menubar = self.menuBar()
fileMenu = menubar.addMenu('File')
openFile = fileMenu.addAction('Open')
openFile.triggered.connect(self.showDialog)
def showDialog(self):
fileName, _ = QFileDialog.getOpenFileName(self, 'Open file', '', 'Excel files (*.xlsx)')
if fileName:
self.load_file(fileName)
def load_file(self, fileName):
workbook = load_workbook(fileName)
worksheet = workbook.active
# 获取Excel中的数据,并存储到列表中
data = []
for row in worksheet.iter_rows():
rowData = []
for cell in row:
rowData.append(cell.value)
data.append(rowData)
# 显示数据到pyqt5窗口中
self.tableWidget.setRowCount(len(data))
self.tableWidget.setColumnCount(len(data[0]))
for i, row in enumerate(data):
for j, col in enumerate(row):
self.tableWidget.setItem(i, j, QTableWidgetItem(str(col)))
if __name__ == '__main__':
app = QApplication(sys.argv)
viewer = ExcelViewer()
viewer.show()
sys.exit(app.exec_())
```