import sys
import pandas as pd
from PySide6.QtGui import QPalette, QColor
from PySide6.QtWidgets import QApplication, QMainWindow, QTabWidget, QWidget, QVBoxLayout, QTableWidget, \
QTableWidgetItem
class ImportStatementsQMainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("导入")
tabs = QTabWidget()
tabs.setTabPosition(QTabWidget.South)
tabs.setMovable(False)
tabs.setDocumentMode(True)
excel_data = pd.read_excel(r'/Volumes/wz4disk/10Proj/2024年.xlsx', sheet_name=None)
# 遍历每个工作表
for sheet_name, sheet_data in excel_data.items():
# 创建一个新的QWidget作为选项卡的内容
tab_content = QWidget()
layout = QVBoxLayout(tab_content)
# 创建一个QTableWidget来显示工作表数据
table_widget = QTableWidget()
table_widget.setRowCount(len(sheet_data))
table_widget.setColumnCount(len(sheet_data.columns))
# 设置表头
table_widget.setHorizontalHeaderLabels(sheet_data.columns)
# 填充表格数据
for row_index, row_data in sheet_data.iterrows():
for column_index, value in enumerate(row_data):
table_widget.setItem(row_index, column_index, QTableWidgetItem(str(value)))
# 将QTableWidget添加到布局中
layout.addWidget(table_widget)
# 将QWidget添加到QTabWidget中,并使用工作表名作为选项卡标题
tabs.addTab(tab_content, sheet_name)
self.setCentralWidget(tabs)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = ImportStatementsQMainWindow()
window.showMaximized()
# window.show()
sys.exit(app.exec())
QTabWidget+QTableWidget显示Excel文件
最新推荐文章于 2024-04-27 17:30:34 发布