QTabWidget+QTableWidget显示Excel文件

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())

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值