Skip to content

Latest commit

ย 

History

48 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“Š TCSS 342 Spreadsheet

Quarter: Winter 2025
Project: TCSS 342 Spreadsheet

A simplified spreadsheet application built for TCSS 342. It supports formula parsing, expression trees, dependency tracking, cycle detection, and a Swing-based GUI.


๐Ÿ‘ฅ Group Members

  • Anthony Co
  • Sofiia Kabaldina
  • Daniella Birungi
  • Jackson Steger

โœจ Features

  • Integer formulas with operators and cell references (A1 + B2 * 3)
  • Expression tree evaluation
  • Dependency graph with cycle detection and rollback
  • Instant recalculation using topological sorting
  • Excel-style multi-letter columns (Aโ€“Z, AAโ€“AZ, BAโ€“BZ, ...)
  • Swing GUI with formula bar, cell label, and editable grid
  • Save/load formulas to a simple text format

โš™๏ธ How It Works

  • Formulas are tokenized and converted to postfix.
  • A postfix stack builds an expression tree.
  • A cloned postfix stack extracts referenced cells for the dependency graph.
  • Cycles are detected before committing updates.
  • A topological sort determines evaluation order.
  • The GUI displays computed values and lets users edit formulas.

๐Ÿš€ Running the Program

  1. Open the project in IntelliJ or any Java IDE
  2. Ensure Java 17+
  3. Run SpreadsheetApp.java
  4. The spreadsheet window will open

๐Ÿ’พ File Format

Saved files contain lines like:

A1 = 5 B1 = A1 + 3 AA3 = B1 * 2

Only cells with formulas are saved.


About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages