Pyqt5:把tablewidget的数据导出到已有的excel中,不改变格式,只添加数据

导出文件存在一点缺陷,采用的是xlutils和xlwt模块。所以只能保存为xls文件

这里只有一部分程序

#设置边框
def styletest(borders,left,right,top,bottom):
    borders.left = left
    borders.right = right
    borders.top = top
    borders.bottom = bottom
    borders.bottom_colour = 0x3A
#打开文件,formatting_info=True保持原有格式
oldWb =xlrd.open_workbook('/Users/sr00117/Desktop/bom2.xls', formatting_info=True)
#设置excel的边框
borders = xlwt.Borders()
styletest(borders,1, 1, 1, 1)
style = xlwt.XFStyle()
style.borders = borders
#复制原有格式
newWb =copy(oldWb)
#得到excel工作表名
newWs =newWb.get_sheet(0)
#得出tableWidget2有多少行数据
rows = tableWidget2.rowCount()
for  i in range(rows):
    #因为是边读边写,所以每次写完后,要把上次存储的数据清空,存储下一行读取的数据
    mainList=[]
    #tablewidget一共有10列
    for j in range(10):
        try:
            data = tableWidget2.item(i, j).text()#得出tablewidget每行每列的数据
            mainList.append(data)#添加到数组
        except:
            #如果tablewidget没有对象,则data = ‘’
            data=''
            mainList.append(data)
        #把mainlist中的数据写入表格
        newWs.write(i+7, j+1, mainList[j], style)
#保存
newWb.save(‘/Users/sr00117/Desktop/bom2.xls’)

tablewidget

excel

你可能感兴趣的:(Pyqt5:把tablewidget的数据导出到已有的excel中,不改变格式,只添加数据)