正如你说你不想给他们限制在其相关的文件,我的做法很可能是这个保存到用户的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