Giter Club home page Giter Club logo

Comments (11)

abrari-ipb avatar abrari-ipb commented on June 15, 2024 1

@salvois Related to this issue, I found that the xlsx file generated by LargeXlsx works perfectly in Excel, but failed to read using a certain go-lang library (excelize) because it needs every <row> to have r attribute. So I think BeginRow also need an optional parameter to always write the r attribute for that row.

from largexlsx.

Mikk182 avatar Mikk182 commented on June 15, 2024 1

@salvois , sorry for the delay.

I agree, an XLSX file with no cell reference is a perfectly valid XLSX file.

I had a look at how do we use Open XML SDK to read an XLSX file and why we need cell reference.

OPEN XML SDK itself do not need cell reference and can read a XLSX file without this information.

Our algorithm which use OPEN XML needs it. Maybe i could rewrite it without using cell reference but i'm not sure it is possible and i won't spend time on it for now.

Anyway, as you said, the is optional and i think LargeXlsx library should be able to optionaly write it because it should not decide what the result should be.
In other words, if the LargeXLSX user wants the attribute, for whatever reason, and because it is a valid argument, the library should write it. I don't think the library should decide what the result should be.

But you're the LargeXLSX owner and maybe do not agree with my opinion and because i've found a workaround, it is not a critical subject.

Thanks,

Mikk

from largexlsx.

salvois avatar salvois commented on June 15, 2024

Hi @Mikk182 ,
I'm sorry but I'm not sure I understand your proposal about the constructor accepting a needRef flag.
Could you elaborate and maybe provide an example on how you would use that, and why you would need this, please?
Thanks,
Salvo

from largexlsx.

Mikk182 avatar Mikk182 commented on June 15, 2024

Hi @salvois,

I would like to create a new branch and make a PR but seems I do not have right. So i've attached a zip file of the solution with changes.

I need writing cell reference because some of my generated files may be readen by DocumentFormat.OpenXml library and need this information.

Thanks

Mikk

LargeXlsx.zip

from largexlsx.

Mikk182 avatar Mikk182 commented on June 15, 2024

I finally create a Pull Request

from largexlsx.

salvois avatar salvois commented on June 15, 2024

Thanks for your pull request @Mikk182 .
At the moment, it's still not clear to me why you would need this, though.
To my knowledge, an XLSX file with no cell reference is a perfectly valid XLSX file, thus I'm very curious to know how the Open XML SDK is requiring it and what kind of problem you are running into with LargeXlsx as is. Very likely I'm missing some piece of information.
Thanks,
Salvo

from largexlsx.

salvois avatar salvois commented on June 15, 2024

@abrari-ipb thanks for this information. In my understanding, ISO/IEC 29500-1:2016 specifies that the r attribute of row and cell elements is optional, thus I'd dare to say that a library requiring it is not standard compliant and maybe this should be reported as an issue to that library.
I appreciate that workarounds may be useful sometimes, though, so I'll think about it, but I'm not very fond of "quirks modes" generally.

from largexlsx.

salvois avatar salvois commented on June 15, 2024

Hi @Mikk182 , did you have a chance to have a look at:

To my knowledge, an XLSX file with no cell reference is a perfectly valid XLSX file, thus I'm very curious to know how the Open XML SDK is requiring it and what kind of problem you are running into with LargeXlsx as is.

Thanks,
Salvo

from largexlsx.

natalie-o-perret avatar natalie-o-perret commented on June 15, 2024

Actually this is what is causing me issues with SAP: #17 (comment)

from largexlsx.

salvois avatar salvois commented on June 15, 2024

Hello @Mikk182 , thanks for your response, no need to be sorry.
I see your point now. While I appreciate you have a way to read XLSX files that work for you, you are accepting that you are requesting files that have stricter requirements than the standard, thus you may as well incur in other writers that do omit row and cell references.
It is still not very clear to me how "de facto standard" this stricter requirement is: as I said, I'm afraid of including compatibility or quirks modes for specific case, because they could easily proliferate. I'm not ruling that out though, just collecting information at the moment.
Concerning @natalie-o-perret issue, this puzzles me because her issue predates the release which included the optimization to omit row and cell references, so I'm waiting for more information about that too.
Thanks everyone for the moment,
Salvo

from largexlsx.

salvois avatar salvois commented on June 15, 2024

Hello @Mikk182, I have merged your pull request and adapted it to specify the new setting while constructing the XlsxWriter rather than per worksheet.
That feature will be available in the next release on LargeXlsx.
Please feel free to have a look, so that I can close this as resolved.
Thanks,
Salvo

from largexlsx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.