I heavily use Excel and CSV at my workplace.

File 0 Excel File

The initial file is an Excel file. Let's call this File 0. This may or may not change with time depending upon the requirement of the project and input of the client.

File 1 CSV Data Sheet

By observing the notes in File 0, a CSV file is created. Let's call this File 1. This is a data sheet, and changes are made in it from time to time. The change in data sometimes comes over email or has to be pooled in from a database that outputs CSV files. These new files are joined to File 1 as a part of changes in File 1.

File 2 Excel File

Based on notes in File 0 and variable names in File 1, multiple instances of File 2 are created, and each instance is changed from time to time with changes in File 1 and client input and requirements.

File 3 Excel File

For multiple instances and changes in every instance, one File 3 every time.

Now, I want to keep a track of all the changes made into these files along with the files.

All the changes are important as at any point in time the client can go back to some old version of any of the above mentioned files. Please provide a naming convention and also a way to keep the change log efficiently.

There are multiple people working on the same project. Also, the Excel files have multiple sheets.


  1. I cannot use any external software like SVN, git, or any other paid or free software.
  2. If any part is unclear, comment, and I'll explain it.
  • 8
    "Cannot use any external softwares like SVN, git or any other paid or free software. -- Why?? – Keith Thompson Aug 26 '16 at 19:27
  • 5
    You're essentially saying: "I have a simple problem that has been solved many times before. I won't tell you why we can't use a standard solution, and I'm suggesting a really bad starting point for a custom solution. Do your best." Like Keith has asked: Why are you limiting yourself this way?? – MetaFight Aug 26 '16 at 19:42
  • 3
    It's a great pity that you aren't allowed to use the tools you need to do your job. You're describing a problem that can be solved by using source control software. Somebody has the ability and permission to install software on the computer you're using. Ask them to do it rather than wasting time reinventing the wheel. – Keith Thompson Aug 26 '16 at 20:00
  • 6
    Sorry if I came across as abrupt or rude, but trying to implement your own version control from scratch is a bad idea. The kind of bad idea that will end up costing you a lot of time and money. It's probably a better idea (more cost effective) to get permission to install git on there. – MetaFight Aug 26 '16 at 20:01
  • 1
    This question makes feel so sad. But if your problem doesn't required edits in parallel revisions to be merged, you could then keep a linear history, e.g. the _v4, _v5 method. Exporting to a csv format and writing a delta engine is not too hard, it's tracking the integration history between branches and doing merges of widely diverged files. In Excel, I think there are ambiguous merges due to column row. Good luck, you'll need it. – James Creasy Aug 26 '16 at 22:22

Have you looked at portable git? Just a thought...

I haven't used this myself but here's what https://sourceforge.net/projects/gitportable/ says;

  • Runs a complete Git instance.
  • Completely portable - runs off a USB or hard drive.
  • Does not require administrator privileges.
  • No need for any external software - simply download extract and run!
  • Packaged in PortableApps.com format for easy integration.

(emphasis mine)

See also https://superuser.com/questions/190056/git-vs-portable-git, and https://git-scm.com/download/win

  • This feels to be the end of the problem. But will it keep a track of changes made to excel files without me typing down every single change made into a change log? – Ankit Haldar Aug 27 '16 at 3:11
  • What I was looking for is series of folders and text files with naming convention based on dates and versions and manual changelog for the entire system. – Ankit Haldar Aug 27 '16 at 3:14
  • 1
    Ah, my bad; I must have I misunderstood. Git will track changes thru revisions identified by branches or tags etc.. and it can do diffs between them but you may not like the result if you're looking for some specific notion of changes in Excel files. As others mentioned, Git provides branches and tags that might possibly used to handle at least part of the date and version naming conventions as well as branch or lineage change log. – Erik Eidt Aug 27 '16 at 4:02
  • 1
    While git won't make the folders appear all at once, it will give you the ability to travel through the history of your git repository, so that you'll be able to view the application, as it was, on a certain date. – christopher Aug 27 '16 at 7:33
  • 1
    Git isn't a viable solution for versioning the data in an excel workbook. Not unless you go through the trouble of unzipping the file into its raw XML before each and every checkin. – RubberDuck Aug 28 '16 at 12:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.