Write sst with inline_string = FALSE
#499
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
closes #67
what is this about?
Currently we write every character as
inlineStr
. Therefore we have a couple of cells like thisThis is completely fine with the open xml standard. But Excel usually writes characters as
sharedStrings
. They provide asharedStrings.xml
file looking like this:and a cell that looks like this:
update
I have decided to go a different route. For now we treat
sharedStrings
similar toinlineStrings
and simply create the shared strings once we are done with adding data.<is><t>...</t></is>
tocc
cc
wb$sharedStrings
cc
values with index positionscc
andwb$shareStrings
This brings the benefit of having shared strings over the workbook which can reduce the overall file size with string duplicates in a workbook. But, since we do not check for these initially, it is a bit slower, because of the
unique
andmatch
calls once writing is done. On the other side it brings the benefit of potentially smaller files and the code is a lot cleaner.