鱼C论坛

 找回密码
 立即注册
查看: 3321|回复: 4

pyqt怎么把QTablewidget的内容另存为为Excel表格

[复制链接]
发表于 2020-9-8 11:03:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
下面是我现在写的代码
    def _save(self):
        savefile_name = QFileDialog.getSaveFileName(self,'选择保存路径','','Excel files(*.xlsx)')

        global path_savefile_name

        path_savefile_name = savefile_name[0]
        row = self.tableWidget.rowCount()
        col = self.tableWidget.columnCount()
        for i in range(row):
            for j in range(col):
                print(self.tableWidget.item(i,j).text())

请问一下,接下来怎么操作,才能把QTablewidget里面的内容另存为到excel表格中!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-8 15:18:20 | 显示全部楼层
    def _save(self):
        savefile_name = QFileDialog.getSaveFileName(self,'选择保存路径','','Excel files(*.xlsx)')

        global path_savefile_name

        path_savefile_name = savefile_name[0]
        row = self.tableWidget.rowCount()
        col = self.tableWidget.columnCount()
                
        book = xlwt.Workbook()
        sheet = book.add_sheet('sheet1')                
        for i in range(row):
            for j in range(col):
                sheet.write(i, j, self.tableWidget.item(i,j).text())                        
                # print(self.tableWidget.item(i,j).text())
                
        book.save(savefile_name)        

你试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-8 15:46:26 | 显示全部楼层

这个我写出来,但是表头我还没有加进去。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-8 15:56:53 | 显示全部楼层

你用xlwt函数的时候,excel表格的后缀不能是.xlsx
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-8 16:15:19 | 显示全部楼层

我写出来了,虽然写的不咋地
    def _save(self):
        savefile_name = QFileDialog.getSaveFileName(self,'选择保存路径','','Excel files(*.xls)')

        global path_savefile_name

        path_savefile_name = savefile_name[0]

        book = xlwt.Workbook()
        sheet = book.add_sheet('新数据')

        row = self.tableWidget.rowCount()
        col = self.tableWidget.columnCount()
        content = []

        for i in range(col):
            #self.tableWidget.horizontalHeaderItem(m).text()
            content.append(self.tableWidget.horizontalHeaderItem(i).text())
        #print(content)
        for i in range(1):
            for j in range(col):
                sheet.write(i, j, content[j])
        for i in range(row):
            for j in range(col):
                try:
                    sheet.write(i+1, j, self.tableWidget.item(i, j).text())
                except:
                    continue
                #print(self.tableWidget.item(i,j).text())
        book.save(path_savefile_name)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 20:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表