Comments (4)
Ok, I think I get it now.
hyperformula/src/parser/addressRepresentationConverters.ts
Lines 103 to 107 in 62dbd20
Basically sheet param is necessary to indicate where is the cell/sheet that requests the address so the returned address is either absolute or relative to that sheet. IMO this would be clearer with includeSheetName: boolean = false
or absoluteSheetName: boolean = false
.
Another question is how do we indicate that row or column should be absolute or relative?
from hyperformula.
Close, but not exactly. If we give engine to interpret C64
, we don't know, whether this is in context of Sheet1
(the result would be: {sheet: 0, col: 2, row: 63}
), or Sheet2
(the result would be: {sheet: 1, col: 2, row: 63}
). So we need context, in which sheet we ask for that address. Of course, sheet is sometimes obvious -- when someone give us sheet explicit, like Sheet42!A1
, but it's not always the case.
We can think of many different "formats" for addresses. But when we've worked on the engine, only two were really needed:
- totally absolute address (
SimpleCellAddress
type) -- this one has only numerical values, all always absolute. - R0C0 format (
CellAddress
class). This one come up always with additional information, whether column/row is relative/absolute. The sheet is always absolute, because we didn't consider 3D references.
My suggestion is to wait, until we will really need some other formats than these two, because we can discuss many formats fora a long time, but that probably won't be productive :)
from hyperformula.
@wojciechczerniak Is there anything crucial left in this issue to be done in Dec19?
from hyperformula.
@bardek8 No. I think I understood it now correctly.
It would be helpful to extend the JSDoc to explain it better and override
might not be the best name. I will ask if @scarletfog could take a look, having the context from @swistak35 should be easy to fill the gap if any.
hyperformula/src/HyperFormula.ts
Lines 472 to 494 in 62dbd20
from hyperformula.
Related Issues (20)
- Improve DX with documentation demos HOT 5
- [Bug]: The *List of differences with other spreadsheets* guide doesn't scale well on narrower screens
- Make the demos show their content fully in the guides
- Use built-in <code> classNames to enhance the *Dependency graph* code snippets HOT 4
- ExcelJS loading function fixed HOT 2
- Introducing HyperFormula 2.6.1
- Feature: get a list of named expressions used by a formula HOT 1
- Remove unorm dependency HOT 1
- Bug in the Server side installation instructions HOT 2
- [Bug]: `simpleCellRangeToString` does not work with column ranges and row ranges HOT 6
- Introducing HyperFormula 2.6.2
- Upgrade vuepress to 1.9.9
- Prepare a list of most popular Excel functions that are missing from HyperFormula HOT 1
- Mortgage calculator as a new code example in readme HOT 1
- Make sure all demos uses the latest HyperFormula version HOT 1
- Remove `tiny-emitter` dependency
- Docs: unify the page titles in the left side menu and the search results HOT 1
- [Bug]: Functions do not take null named expressions into account HOT 2
- Excel compatibility issues HOT 3
- Demo: custom function that uses GPT API
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hyperformula.