Microsoft Excel下拉列表保存后不见了?

Sheet.get_Range( "D2", string.Format("D{0}", MAX_ROWS)).Validation .Add(E.XlDVType.xlValidateList, Type.Missing, E.XlFormatConditionOperator.xlBetween, string.Join(",", CountryCollection.Select(x=>x.CountryName.Replace(",",")).ToArray())); 

上面的代码将有助于在新打开的excel文件上生成一个下拉列表,但是一旦用户保存工作表,下拉列表将会消失。 用户所做的更改将保留在那里,但下拉列表将消失。 任何想法?

更新:

目前怀疑dropdownlist已经消失的原因是由于下面的代码

 void WB_BeforeSave(bool SaveAsUI, ref bool Cancel) { workSheet.get_Range(START_CELL, string.Format(END_CELL, MAX_ROWS)).Validation.Delete(); } 

我已经尝试将上述代码注释掉,以便validation不会被删除,但是当我尝试手动打开Excel表时,Microsoft Excel检测到validation是不可读的内容,并自动将其删除。

尝试以.xlsx格式保存excel,如果没有select正确的文件格式,某些行为将不会生效。