/tksheet

Python tkinter table widget for displaying tabular data

Primary LanguagePythonMIT LicenseMIT

tksheet table tksheet treeview

tksheet - python tkinter table widget

PyPI version shields.io python License: MIT

GitHub Release Date Downloads

Help
Versions 6.x.x → Documentation Wiki
Versions 7.x.x → Documentation Wiki
Changelog
Questions
Issues
Suggestions

This library is maintained with the help of others. If you would like to contribute please read this help section.

Changes for versions 7+:

  • ALL extra_bindings() event objects have changed, information here.
  • The bound function for extra_bindings() with "edit_cell"/"end_edit_cell" no longer requires a return value and no longer sets the cell to the return value. Use this instead.
  • edit_cell_validation has been removed and replaced with the function edit_validation(), information here.
  • Only Python versions >= 3.8 are supported.
  • tksheet file names have been changed.
  • Many other smaller changes, see the changelog for more information.

Features

  • Display and modify tabular data
  • Stores its display data as a Python list of lists, sublists being rows
  • Runs smoothly even with millions of rows/columns
  • Edit cells directly
  • Cell values can potentially be any class, the default is any class with a __str__ method
  • Drag and drop columns and rows
  • Multiple line header and index cells
  • Expand row heights and column widths
  • Change fonts and font size (not for individual cells)
  • Change any colors in the sheet
  • Treeview mode
  • Dropdown boxes
  • Check boxes
  • Progress bars
  • Hide rows and/or columns
  • Left "w", Center "center" or Right "e" text alignment for any cell/row/column
"""
Versions 7+ have succinct and easy to read syntax:
"""
# set data
sheet["A1"].data = "edited cell A1"

# get data
column_b = sheet["B"].data

# add 2 empty columns and add the change to undo stack
sheet.insert_columns(columns=2, idx=4, undo=True)

# delete columns 0 and 3 and add the change to undo stack
sheet.delete_columns(columns=[0, 3], undo=True)

light blue theme

tksheet light blue theme

dark theme

tksheet dark theme

treeview mode

tksheet treeview