2017-04-20 80 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