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()));
Đoạn mã trên sẽ giúp tạo danh sách thả xuống trên tệp excel mới mở nhưng khi người dùng lưu trang tính, danh sách thả xuống sẽ biến mất. Những thay đổi mà người dùng thực hiện sẽ vẫn ở đó nhưng danh sách thả xuống sẽ biến mất. Bất kỳ ý tưởng?Danh sách thả xuống Microsoft Excel đã biến mất sau khi lưu?
CẬP NHẬT:
Hiện nay nghi ngờ lý do mà các DropDownList đã đi là do các mã dưới đây
void WB_BeforeSave(bool SaveAsUI, ref bool Cancel)
{
workSheet.get_Range(START_CELL, string.Format(END_CELL, MAX_ROWS)).Validation.Delete();
}
Tôi đã thử nhận xét ra các mã trên để xác nhận sẽ không được đã xóa tuy nhiên, khi tôi cố gắng mở bảng excel theo cách thủ công, Microsoft Excel phát hiện rằng xác thực là nội dung không đọc được và nó sẽ tự động xóa nó.
Bạn nên cung cấp thêm mã nguồn để giúp mọi người xác định sự cố. –
Vui lòng cung cấp [MCVE] –
cũng chia sẻ thư viện nổi trội mà bạn đang sử dụng – Patel