正如你說你不想給他們限制在其相關的文件,我的做法很可能是這個保存到用戶的AppData文件夾,並使用XML序列化。你可以在下面看到一個例子。
根據您選擇的AppData文件夾,數據將位於C:\ Users \ $ user $ \ AppData \ Roaming或... \ Local中。有關更多信息,請參閱this。
連載:
// this is just an example object, can do whatever you'd like here
var myObject = new MyObject()
{
MyValue = "some data"
};
string path = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
"MyExcelAddIn\\data.xml");
Directory.CreateDirectory(Path.GetDirectoryName(path));
var serializer = new XmlSerializer(typeof(MyObject));
using (var fileStream = new FileStream(path, FileMode.Create))
{
serializer.Serialize(fileStream, myobject);
}
反序列化:
string path = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
"MyExcelAddIn\\data.xml");
MyObject myObject;
var serializer = new XmlSerializer(typeof(MyObject));
using (var fileStream = new FileStream(path, FileMode.Open))
{
myObject = (MyObject)serializer.Deserialize(fileStream);
}
MessageBox.Show(myObject.MyValue);
感謝您的反饋,這是有道理的。感謝這個例子以及它一起去! – Clouse24