I'm preparing to move huge amount of files between file servers. The files are located in different shares within one of many servers. I thought it would be good to have clear vision of what is linked where, for instance: I've got many Excel files in share A and B - I'd like to see that some file from location A is linked (i.e. uses data from) to file in share B. This would allow me to better plan the migration process, so I'll know which shares should be migrated together.

What software could I use to create a graph of (especially) Excel files and links between them? It would be the best if the software would be free or GPL.

  • 2
    What budget? You mention Excel, do you also want for Word/PowerPoint/etc?
    – Nicolas Raoul
    May 7 '14 at 10:50
  • I've updated the description to include specific information. May 7 '14 at 10:52

First you might need to extract the reference exists in an excel file. This SO question is having a very good details. If you want a simple solution, you may be you can use the link to extract a separate list of references.

If you can prepare a excel sheet with all the files and its relationship you can use Neo4J to use that data to generate the graph. Check this link on Neo4j it might help you.


If a programmatic solution will be acceptable, Essential XlsIO can be used to generate the list of external references for Excel files.

Simple sample application that generates a list with source code: link.

 //type casting to internal class "WorkbookImpl" from "IWorkbook"
 WorkbookImpl workbookImpl = workbook as WorkbookImpl;
 //Get the external workbook list which was referred from the input file
 foreach(ExternWorkbookImpl book in workbookImpl.ExternWorkbooks)
    //Getting the URL name of the external workbook
      string externalURL = book.URL;

The source requires Visual Studio and Syncfusion Essential Studio to compile.

The whole suite of controls is available for free through the community license program if you qualify. Note: I work for Syncfusion.

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.