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

[FIX] xlsx: convert #REF at export to xlsx #5019

Closed
wants to merge 2 commits into from

Conversation

hokolomopo
Copy link
Contributor

[FIX] xlsx: convert #REF at export to xlsx:

Reference errors in excel are #REF!, not #REF.

[FIX] parser: inconsistent handling of #REF

Depending on how we get a formula with #REF, the parser can have
different behavior even if the formula is the same.

  • If we write directly =#REF (or it comes from a snapshot), the parser
    will throw an error.
  • If we write =A1, then delete the row 1 to get =#REF, the parser will
    return a REFERENCE token with an #REF value.

This is a bit of a problem when exporting the data to xlsx: since
we parse the formulas to know whether we need to export it, we get
a different result depending on how we got the #REF.

Task: 4207052

review checklist

  • feature is organized in plugin, or UI components
  • support of duplicate sheet (deep copy)
  • in model/core: ranges are Range object, and can be adapted (adaptRanges)
  • in model/UI: ranges are strings (to show the user)
  • undo-able commands (uses this.history.update)
  • multiuser-able commands (has inverse commands and transformations where needed)
  • new/updated/removed commands are documented
  • exportable in excel
  • translations (_t("qmsdf %s", abc))
  • unit tested
  • clean commented code
  • track breaking changes
  • doc is rebuild (npm run doc)
  • status is correct in Odoo

Depending on how we get a formula with #REF, the parser can have
different behavior even if the formula is the same.

- If we write directly =#REF (or it comes from a snapshot), the parser
  will throw an error.
- If we write =A1, then delete the row 1 to get =#REF, the parser will
return a REFERENCE token with an #REF value.

This is a bit of a problem when exporting the data to xlsx: since
we parse the formulas to know whether we need to export it, we get
a different result depending on how we got the #REF.

Task: 4207052
@robodoo
Copy link
Collaborator

robodoo commented Sep 24, 2024

Pull request status dashboard

Reference errors in excel are #REF!, not #REF.

Task: 4207052
@LucasLefevre LucasLefevre force-pushed the 16.0-ref-error-xlsx-export-adrm branch from f6c50a5 to 2ae5d66 Compare October 28, 2024 10:03
Copy link
Collaborator

@LucasLefevre LucasLefevre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

quel échec. In master, we should change it to #REF! as well, but... upgrade script 😬

@LucasLefevre
Copy link
Collaborator

robodoo rebase-ff r+

@robodoo
Copy link
Collaborator

robodoo commented Oct 28, 2024

Merge method set to rebase and fast-forward.

robodoo pushed a commit that referenced this pull request Oct 28, 2024
Depending on how we get a formula with #REF, the parser can have
different behavior even if the formula is the same.

- If we write directly =#REF (or it comes from a snapshot), the parser
  will throw an error.
- If we write =A1, then delete the row 1 to get =#REF, the parser will
return a REFERENCE token with an #REF value.

This is a bit of a problem when exporting the data to xlsx: since
we parse the formulas to know whether we need to export it, we get
a different result depending on how we got the #REF.

Task: 4207052
Part-of: #5019
Signed-off-by: Lucas Lefèvre (lul) <[email protected]>
robodoo pushed a commit that referenced this pull request Oct 28, 2024
Reference errors in excel are #REF!, not #REF.

closes #5019

Task: 4207052
Signed-off-by: Lucas Lefèvre (lul) <[email protected]>
@robodoo robodoo closed this Oct 28, 2024
@fw-bot fw-bot deleted the 16.0-ref-error-xlsx-export-adrm branch November 11, 2024 10:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants