C# 및 Visual Studio 2015로 Excel Addin을 만들었습니다. 이제 시트 특정 데이터를 저장하려고합니다. Excel에서 xlsx 파일로 직렬화되는 사용자 정의 Excel 객체에 사용자 데이터를 저장하는 방법이 있습니까? 어떻게 처리해야할지 모르겠습니다.Excel에서 사용자 정의 데이터 저장 AddIn C#
1
A
답변
2
당신은 워크 시트 수준에서 키/값 쌍을 저장하는 워크 시트의 사용자 지정 속성을 사용할 수 있습니다
:
저장하기 :
MyExcelSheet.CustomProperties.Add("MyKey", "MyValue");
읽기 및 업데이트 :
foreach (CustomProperty cp in MyExcelSheet.CustomProperties)
{
if (cp.Name == "MyKey")
{
cp.Value = "MyNewValue"
}
}
삭제 :
foreach (CustomProperty cp in MyExcelSheet.CustomProperties)
{
if (cp.Name == "MyKey")
{
cp.Delete();
}
}
사용자 정의 속성은 Excel 파일에 저장되지만 해당 속성을 변경하더라도 통합 문서가 '더티'로 표시되지 않습니다. 따라서, 당신은 저장되지 않은으로 통합 문서를 표시해야합니다/삭제/업데이트를 추가 한 후 :
Workbook wb = MyExcelSheet.Parent as Workbook;
wb.Saved = false;
을 사용자가 그들이 그것을 닫으면 다른 변경을하지 않은 경우에도, 통합 문서를 저장하라는 메시지가 표시되어 있는지 확인합니다 이렇게.
다른 추가 기능과 VBA 코드도 사용자 지정 속성에 데이터를 저장할 수 있으므로 적절하게 고유 한 키를 사용해야합니다.
출처 : https://msdn.microsoft.com/en-us/library/office/ff197822.aspx