Comments (11)
@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.
@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.
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.
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
from largexlsx.
I finally create a Pull Request
from largexlsx.
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.
@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.
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.
Actually this is what is causing me issues with SAP: #17 (comment)
from largexlsx.
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.
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)
- The exported excel is too large HOT 5
- Is there a way to create links? HOT 5
- Generated *.xlsx not always deemed as proper excel files. HOT 20
- Feature Request: Writing boolean values HOT 2
- Is it possible to use an existing excel file? HOT 1
- Create File using MemoryStream HOT 1
- Since version 1.7.1 the FirstRowNum property is -1 HOT 3
- Q&A : DateTime format column HOT 3
- Writing multi line cell content HOT 2
- Plans for in-Cell Rich Text support? HOT 1
- Error exporting data to MS Access HOT 5
- Password protect an entire work book? HOT 1
- Async API introduction HOT 1
- Automatic column width adjustment HOT 4
- Excel reporting file as faulty, when colspan larger than 2 used on any cell - from 1.9.0 HOT 2
- Creating column span using Write(value, style, span) method produces invalid xlsx unless SkipColumns(n - 2) called HOT 2
- Not possible to recover files with Excel v. 2110 HOT 9
- Protection of sheets HOT 6
- Broken Excel fail generated when writing to not seekable stream HOT 8
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 largexlsx.