2017-04-20 86 views
1

我想从Excel文件传递一些数据到python中的treeview。我无法知道如何将每个单元格值分配到不同的列。我有三列树形视图。Openpyxl to treeview传递信息

对于从Excel文件获取数据并传递到TreeView:

import Tkinter as tk 
import ttk 
from openpyxl import load_workbook 

self.add_packing_tree = ttk.Treeview(self.left_area_frame_top_bottom, selectmode='extended') 
self.add_packing_tree['columns'] = ('ID', 'Nro Parte', 'Cantidad') 
self.add_packing_tree.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) 
self.add_packing_tree.column('#0', anchor=tk.W, minwidth=0, stretch=0, width=0) 
self.add_packing_tree.column('ID', anchor=tk.W, minwidth=50, stretch=1, width=50) 
self.add_packing_tree.column('Nro Parte', anchor=tk.W, minwidth=50, stretch=1, width=50) 
self.add_packing_tree.column('Cantidad', minwidth=50, stretch=1, width=50) 
self.add_packing_tree.heading('ID', text="ID") 
self.add_packing_tree.heading('Nro Parte', text="Nro Parte") 
self.add_packing_tree.heading('Cantidad', text="Cantidad") 

file_location = self.filename 
workbook = xl.open_workbook(file_location) 
sheet = workbook.sheet_by_index(0) 
self.file_route.set(self.filename) 
wb = load_workbook(self.filename) 
sheet = wb.active 
for row in sheet.iter_rows(min_row=2, min_col=0): 
    for cell in row: 
     self.add_packing_tree.insert('', 'end', values=(cell.value)) 

而且它的伟大工程,但在TreeView一切顺利的第一列。

谢谢。

+0

我可以看'打印(STR(类型(self.add_packing_tree)))'。从哪个“模块”? – stovfl

+0

感谢@stovfl重放,图片显示了'。你是指什么模块? – diego

+0

不起作用。编辑你的问题,并显示你从哪个'python module'导入'treeview'。 – stovfl

回答

0

**的Python»3.6.1文档»**:tkinter.ttk.html#item-options

与项目关联的值的列表。

更改为以下:

for row in sheet.iter_rows(min_row=2, min_col=0): 
    self.add_packing_tree.insert('', 'end', values=[cell.value for cell in row]) 
+0

执行,很好!谢谢。 – diego