handsontable / handsontable/hyperformula

Parse/unparse absolute sheet name

Open
#65 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature ODFF Conformance ODFF Variances Verified
Dominant language
TypeScript
Stars
2.8k
Forks
171
Avg merge
1d 22h
Merged PRs (30d)
7

Description

Description

Extracted from #12

Some spreadsheet applications add dollar sign $ to sheet name to indicate it as an absolute reference. It is absolute by nature so ODFF allows making it optional.

  • We can make it optional in regex so we can always parse copied formula from other sources. Then normalize it to our settings (default hardcoded is a reference without $)
  • Add a config option to change the above default, and always unparse formula with $ before sheet name.
Spec

"OOo 2.0 always generates absolute Sheetnames if it's not the current sheet (i.e., '$' always prefixes a Sheetname). However, the OpenDocument 1.0 specification 8.3.1 clearly makes the "$" optional in front of a sheet name. "

This is a part of ODFF Variances and a nice to have.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the formula parser and unparser along with the configuration definitions; the issue provides no file or test names. Review existing sheet-reference handling, with completion defined as accepting an optional $, normalizing it, and, if configuration is included, emitting it during unparsing.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.