Excel 文档属性对于了解表格的内容或主题至关重要。它们提供了有关文档摘要、作者和创建/修订历史的有用信息,有助于高效地组织和检索文件。本文将介绍如何使用 Spire.XLS for .NET 在 C# 中读取或删除 Excel 文档属性。
安装 Spire.XLS for .NET
首先,您需要将 Spire.XLS for .NET 包含的 DLL 文件作为引用添加到您的 .NET 项目中。DLL 文件可以从此链接下载,也可以通过 NuGet 安装。
PM> Install-Package Spire.XLS
使用 C# 读取 Excel 中的标准和自定义文档属性
Excel 属性分为两大类:
- 标准属性: 这些是内置在 Excel 文件中的预定义属性。它们通常包括文件的基本详细信息,如标题、主题、作者、关键字等。
- 自定义属性: 这些是用户定义的属性,可根据具体需要添加到 Excel 中,以便追踪文件的其他信息。
Spire.XLS for .NET 允许读取 Excel 文件的标准和自定义文件属性。具体步骤如下:
- 创建一个 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 创建一个 StringBuilder 实例。
- 使用 Workbook.DocumentProperties 属性获取所有标准文档属性集合。
- 使用 BuiltInDocumentProperties 类的相应属性获取特定的标准文档属性,并将其添加到 StringBuilder 实例中。
- 使用 Workbook.CustomDocumentProperties 属性获取所有自定义文档属性的集合。
- 遍历该集合,然后使用 IDocumentProperty.Name 和 IDocumentProperty.Value 属性获取每个自定义文档属性的名称和值,并将它们添加到 StringBuilder 实例中。
- 将 StringBuilder 实例中的内容写入到 txt 文件。
- C#
using Spire.Xls;
using Spire.Xls.Collections;
using Spire.Xls.Core;
using System.IO;
using System.Text;
namespace GetExcelProperties
{
class Program
{
static void Main(string[] args)
{
{
//创建Workbook对象
Workbook workbook = new Workbook();
//加载一个Excel文件
workbook.LoadFromFile("预算表.xlsx");
//创建StringBuilder实例
StringBuilder sb = new StringBuilder();
//获取标准属性的集合
BuiltInDocumentProperties standardProperties = workbook.DocumentProperties;
//获取指定标准属性并将其添加到StringBuilder实例中
sb.AppendLine("Standard Document Properties:");
sb.AppendLine("Title: " + standardProperties.Title);
sb.AppendLine("Subject: " + standardProperties.Subject);
sb.AppendLine("Manager: " + standardProperties.Manager);
sb.AppendLine("Category: " + standardProperties.Category);
sb.AppendLine("Keywords: " + standardProperties.Keywords);
sb.AppendLine("Comments: " + standardProperties.Comments);
sb.AppendLine();
//获取自定义属性集合
ICustomDocumentProperties customProperties = workbook.CustomDocumentProperties;
sb.AppendLine("Custom Document Properties:");
//遍历属性
for (int i = 0; i < customProperties.Count; i++)
{
//获取每个自定义属性的名称和值,并将它们添加到StringBuilder实例中
string name = customProperties[i].Name;
string value = customProperties[i].Value.ToString();
sb.AppendLine(name + ": " + value);
}
//将StringBuilder实例的内容写入到txt文件中
File.WriteAllText("获取Excel属性.txt", sb.ToString());
}
}
}
}
使用 C# 删除 Excel 中的标准和自定义文档属性
通过将标准文档属性值设置为空,可以轻松删除 Excel 文件中的标准文档属性。对于自定义文档属性,可以使用 ICustomDocumentProperties.Remove() 方法来删除它们。具体步骤如下:
- 创建一个 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 示例文件。
- 使用 Workbook.DocumentProperties 属性获取所有标准文档属性的集合。
- 通过 BuiltInDocumentProperties 类的相应属性将特定标准文档属性的值设置为空。
- 使用 Workbook.CustomDocumentProperties 属性获取所有自定义文档属性集合。
- 遍历该集合,然后使用 ICustomDocumentProperties.Remove(string strName) 方法按名称从集合中删除每个自定义属性。
- 使用 Workbook.SaveToFile() 方法保存结果文件。
- C#
using Spire.Xls;
using Spire.Xls.Collections;
using Spire.Xls.Core;
namespace DeleteExcelProperties
{
class Program
{
static void Main(string[] args)
{
{
//创建Workbook对象
Workbook workbook = new Workbook();
//加载一个Excel文件
workbook.LoadFromFile("预算表.xlsx");
//获取标准属性的集合
BuiltInDocumentProperties standardProperties = workbook.DocumentProperties;
//将各标准属性的值设为空
standardProperties.Title = "";
standardProperties.Subject = "";
standardProperties.Manager = "";
standardProperties.Category = "";
standardProperties.Keywords = "";
standardProperties.Comments = "";
//获取自定义属性的集合
ICustomDocumentProperties customProperties = workbook.CustomDocumentProperties;
//遍历集合
for (int i = customProperties.Count -1; i >=0; i--)
{
//删除自定义属性
customProperties.Remove(customProperties[i].Name);
}
//保存结果文件
workbook.SaveToFile("删除Excel属性.xlsx", ExcelVersion.Version2016);
}
}
}
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。