Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Table api is very obscure #48

Open
Freymaurer opened this issue Jul 27, 2023 · 4 comments
Open

[Feature Request] Table api is very obscure #48

Freymaurer opened this issue Jul 27, 2023 · 4 comments
Labels
Type: Feature Request This item is confirmed by the maintainers to be a request for a new feature

Comments

@Freymaurer
Copy link
Collaborator

Freymaurer commented Jul 27, 2023

Without any documentation the table api seems impossible to navigate, as it does not use any common vocabularies from spreadsheet manipulation.

image

What is a field?

image

Why is this not AddCell (same for worksheet.Table)? Why is there no "GetCell", even if i need to pass an additional cellcollection.

image

Why can i access HeaderRow, but not body?

In addition #45

@omaus
Copy link
Collaborator

omaus commented Jul 27, 2023

Why is this not AddCell (same for worksheet.Table)? Why is there no "GetCell", even if i need to pass an additional cellcollection.

Because the functionality is taken from spiritual role model ClosedXML which names it the same. .Cell is .GetCell if at given position a cell is present or .AddCell if it is not.
I too am not happy about this naming (and would prefer .GetOrAddCell) but this is up to debate with other library contributors.

image

Why can i access HeaderRow, but not body?

Again, because there's no equivalent in ClosedXML. In addition, there is no equivalent in MS Excel. It does not differentiate between header and body. There is only the full table and, as a subset, the header row.

image

What is a field?

A TableField. Again a class derived from ClosedXML's pendant which is defined as a header cell and its data cells. "TableField" is a strange name, "TableColumn" would make more sense to me but blame the ClosedXML guys for this. 😂

@Freymaurer
Copy link
Collaborator Author

In addition, there is no equivalent in MS Excel. It does not differentiate between header and body.

Even if that is true, the api contains the HeaderRow property and office-js gives extensive api functions for both header and body.

A TableField. Again a class derived from ClosedXML's pendant which is defined as a header cell and its data cells. "TableField" is a strange name, "TableColumn" would make more sense to me but blame the ClosedXML guys for this. 😂

This is a bad reason in my opinion. Why not improve f# wrapper api over ClosedXML/OpenXML api.

@omaus
Copy link
Collaborator

omaus commented Jul 27, 2023

In addition, there is no equivalent in MS Excel. It does not differentiate between header and body.

Even if that is true, the api contains the HeaderRow property and office-js gives extensive api functions for both header and body.

office-js also seems superior to OpenXML to me.

A TableField. Again a class derived from ClosedXML's pendant which is defined as a header cell and its data cells. "TableField" is a strange name, "TableColumn" would make more sense to me but blame the ClosedXML guys for this. 😂

This is a bad reason in my opinion. Why not improve f# wrapper api over ClosedXML/OpenXML api.

You know how it is, everything must be done quickly and therefore you end up that way. 😅

@Freymaurer
Copy link
Collaborator Author

Then please take this issue not as [Discussion] but as [Feature Request]. Be it for a more clear api, ore api functions or documentation.

@omaus omaus added the Type: Feature Request This item is confirmed by the maintainers to be a request for a new feature label Jun 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Feature Request This item is confirmed by the maintainers to be a request for a new feature
Projects
None yet
Development

No branches or pull requests

2 participants