如果您想更改 Office 使用的默认属性,例如 Company 或 Author,您可以通过SummaryProperties
对象更新它们:
OleDocumentProperties dso = new DSOFile.OleDocumentProperties();
dso.Open(@"c:\temp\test.xls", false, DSOFile.dsoFileOpenOptions.dsoOptionDefault);
//Update Company
dso.SummaryProperties.Company = "Hello World!";
dso.Save();
dso.Close(false);
请注意,您无法更改可以通过dso 中的SummaryProperties
对象通过对象访问的文档的默认属性。CustomProperties
这CustomProperties
适用于用户使用的其他属性,而不是 Microsoft Office 已经引入的属性。
为了更改自定义属性,您必须知道这CustomProperties
是一个可以通过 foreach 迭代的集合。所以可以使用以下两种方法:
private static void DeleteProperty(CustomProperties properties, string propertyName)
{
foreach(CustomProperty property in properties)
{
if (string.Equals(property.Name, propertyName, StringComparison.InvariantCultureIgnoreCase))
{
property.Remove();
break;
}
}
}
private static void UpdateProperty(CustomProperties properties, string propertyName, string newValue)
{
bool propertyFound = false;
foreach (CustomProperty property in properties)
{
if (string.Equals(property.Name, propertyName, StringComparison.InvariantCultureIgnoreCase))
{
// Property found, change it
property.set_Value(newValue);
propertyFound = true;
break;
}
}
if(!propertyFound)
{
// The property with the given name was not found, so we have to add it
properties.Add(propertyName, newValue);
}
}
以下是有关如何使用 UpdateProperty 的示例:
static void Main(string[] args)
{
OleDocumentProperties dso = new DSOFile.OleDocumentProperties();
dso.Open(@"c:\temp\test.xls", false, DSOFile.dsoFileOpenOptions.dsoOptionDefault);
UpdateProperty(dso.CustomProperties, "Year", "2017");
dso.Save();
dso.Close(false);
}