¿Qué widget usas para una tabla de Excel en tkinter?

Quiero un widget de tabla de Excel en tkinter para una interfaz gráfica de usuario que estoy escribiendo. ¿Tienes alguna sugerencia?

Tktable es, al menos, posiblemente la mejor opción, si necesita soporte de mesa completo. Brevemente, el siguiente ejemplo muestra cómo usarlo asumiendo que lo tiene instalado. El ejemplo es para python3, pero para python2 solo necesita cambiar la statement de importación.

import tkinter as tk import tktable root = tk.Tk() table = tktable.Table(root, rows=10, cols=4) table.pack(side="top", fill="both", expand=True) root.mainloop() 

Tktable puede ser difícil de instalar ya que no hay un paquete instalable por pip.

Si todo lo que realmente necesita es una cuadrícula de widgets para mostrar y editar datos, puede crear fácilmente una cuadrícula de widgets de entrada o etiqueta. Para ver un ejemplo, vea esta respuesta a la pregunta Python. GUI (matrices de entrada y salida)?

Puedes usar Tkinter así para hacer una hoja de cálculo simple como gui:

 from Tkinter import * root = Tk() height = 5 width = 5 for i in range(height): #Rows for j in range(width): #Columns b = Entry(root, text="") b.grid(row=i, column=j) mainloop() 

Edición: si desea obtener los valores de la cuadrícula, debe utilizar los elementos secundarios de la cuadrícula.

 def find_in_grid(frame, row, column): for children in frame.children.values(): info = children.grid_info() #note that rows and column numbers are stored as string if info['row'] == str(row) and info['column'] == str(column): return children return None 

Donde se puede llamar a la función y se devolverá al niño. Para obtener el valor de la entrada, puede utilizar:

 find_in_grid(root, i+1, j).get()