spences10 / VBA-IDE-Code-Export

Export & Import VBA code for use with Git (or any VCS)
MIT License
119 stars 34 forks source link

Store Excel workbooks as Unpacked stack of XML files #57

Closed mattpalermo closed 7 years ago

mattpalermo commented 7 years ago

It may be useful to store Excel workbooks in their unpacked form which is a directory of XML files. This has been done before in VBADeveloper and OoXmlUnpack. From observation of those projects, it seems that this may lead to more efficient storage in VCS and might help with diffing different versions of workbooks.

OoXmlUnpack has achieved this very well. It not only decompresses the workbook zip file, but it also "pretty prints" the XML for better VCS support and it deletes the CalcChain.xml file which isn't necessary and only makes diffs ugly. It may be best to use OoXmlUnpack in the background to achieve this.

VBADeveloper is a good example of how the UX of this Pack / Unpack feature can be so painful that the benefit is not worth it. The UX should be very easy. Perhaps the command line interface proposed in issue #56 can help with this.

Finally, I think that some users may not want to use this feature so it should be able to be disabled.

spences10 commented 7 years ago

This is how Cluster 7 works for their software, from talking to them the other day I found that they 'decompile' the workbook into their XML format add it to MS SQL Server and diff them

Exactly how they make it a nice readable format is probably why they're and enterprise company charging financial institutions to use the software :+1:

So I could include this in a PR https://github.com/spences10/VBA-IDE-Code-Export/issues/56#issuecomment-281324599

spences10 commented 7 years ago

So I could include this in a PR https://github.com/spences10/VBA-IDE-Code-Export/issues/56#issuecomment-281324599

mattpalermo commented 7 years ago

Perhaps you could push your work to feature branch while your working on it?

mattpalermo commented 7 years ago

Exactly how they make it a nice readable format is probably why they're and enterprise company charging financial institutions to use the software 👍

Yea, probably took them a lot of work. Perhaps we'll find a way as well.

spences10 commented 7 years ago

Branch unpack-to-xml created for this, will submit PR to close this.

As a result of this the RibbonUI will need to be changed as well!! :scream_cat: the options will have to

~1. Save as decompiled XML?~ ~2. Create binary from XML??~

  1. Save as XML?
  2. Make from XML??

Well, whatever sounds like the best option we'll go with that, I guess

Right?

spences10 commented 7 years ago

Basis of the code here:

https://gist.github.com/spences10/487a57ccb26ff894aa9acac2fe684435

Will need to incorporate into CodeExport

mattpalermo commented 7 years ago

👍 The only thing we don't have yet is automating the 'packing' process. That would be a great improvement I think.

spences10 commented 7 years ago

I'll log the issue later today 👍