保存后Microsoft Excel下拉列表消失了吗?

时间:2016-04-29 07:16:03

标签: c# 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文件上生成下拉列表,但是一旦用户保存工作表,下拉列表就会消失。用户所做的更改将保留在那里,但下拉列表将消失。有什么想法吗?

更新

目前怀疑下拉列表已经消失的原因是由于以下代码

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

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

1 个答案:

答案 0 :(得分:0)

尝试以.xlsx格式保存Excel,如果未选择正确的文件格式,某些行为将不会生效。