Pyqt:由excel导入数据去tablewidget
从excel中导入数据到tablewidgetmain.pyimport sysfrom PyQt5.QtWidgets import *from PyQt5.QtGui import *import readExcelclass main_widget(QWidget):# 继承自 QWidget类def __init__(self):super...
·
从excel中导入数据到tablewidget
main.py
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
import readExcel
class main_widget(QWidget): # 继承自 QWidget类
def __init__(self):
super().__init__()
self.initUI() # 创建窗口
def initUI(self):
# 在此处添加 窗口控件
self.setGeometry(200, 300, 1000, 600) # 屏幕上坐标(x, y), 和 窗口大小(宽,高)
self.setWindowTitle("电子BOM表辅助工具")
hbox = QHBoxLayout(self)#创建布局,可以让控件随着窗口的改变而改变
self.onewidget = QFrame()#创建一个QFrame窗口。Qwidget也可以
self.tableWidget3 = QTableWidget(1, 7)#创建一个表格tablewidget
#创建表头
self.tableWidget3.setHorizontalHeaderLabels(
['品名', 'SR P/N', 'MPN', '规格型号描述', '品牌(MFG)', 'RD窗口', '备注'])
#禁止编辑
self.tableWidget3.setEditTriggers(QAbstractItemView.NoEditTriggers)
#添加tableWidget去hbox中
hbox.addWidget(self.tableWidget3)
self.setLayout(hbox)
readExcel.read_excel(self.tableWidget3)
self.show()
if __name__ == "__main__":
app = QApplication(sys.argv)
path = '/Users/sr00117/Desktop/GUI/images/cat_597px_1221818_easyicon.net.png'
app.setWindowIcon(QIcon(path)) # MAC 下 程序图标是显示在程序坞中的, 切记;
window = main_widget()
sys.exit(app.exec_())
readExcel.py
import xlrd
from PyQt5.QtWidgets import *
def read_excel(tableWidget3):
# 打开文件
workbook = xlrd.open_workbook('/Users/sr00117/Desktop/编码总表.xlsx')
# 获取所有sheet
#sheet2_name = workbook.sheet_names()[0]
# 根据sheet索引或者名称获取sheet内容
sheet1 = workbook.sheet_by_index(0) # sheet索引从0开始
cols = sheet1.col_values(1) # 获取第三列内容 品名
# 获取整行和整列的值(数组)
for i in range(4,len(cols)):
rowslist = sheet1.row_values(i) # 获取excel每行内容
for j in range(len(rowslist)):
#在tablewidget中添加行
row = tableWidget3.rowCount()
tableWidget3.insertRow(row)
#把数据写入tablewidget中
newItem = QTableWidgetItem(rowslist[j])
tableWidget3.setItem(i-4, j-1, newItem)
这个i-4,j-1,根据实际的表格行数来变化
ecxel

运行结果tablewidget

更多推荐



所有评论(0)