1

I have a simple Excel file with two worksheet. Each of them has an Excel table defined in it.
The final result would be to add a relationship between tables using OpenXML so in the modified Excel appears like this:
enter image description here


I tried with following code:

using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(DEMOFILE_TBL, true)) {
  WorkbookPart workbookPart = spreadsheetDocument.WorkbookPart;

  var dataModelFromWb = 
    workbookPart
    .Workbook
    .Descendants<WorkbookExtension>()
    .Where(d => d.FirstChild.LocalName == "dataModel")
    .FirstOrDefault().FirstChild as X15.DataModel;

  X15.DataModel dataModel = dataModelFromWb;
  X15.ModelRelationships modelRelationships = new X15.ModelRelationships();
  X15.ModelRelationship modelRelationship = new X15.ModelRelationship() {
    FromTable = "Tabella1",
    FromColumn = "Colonna1",
    ToTable = "Tabella2",
    ToColumn = "Colonna1"
  };

  modelRelationships.Append(modelRelationship);
  dataModel.Append(modelRelationships);

  spreadsheetDocument.SaveAs(DEMOFILE_REL);
}

Unfortunately, the new file is correctly created, but don't have any relationship defined in it.
What am I missing or what's wrong in my code?
Thank you for any help!

0 Answers0