So bearbeiten Sie die Metadaten einer Excel-Arbeitsmappe in C
Bearbeiten Sie Excel-Metadaten in C# mithilfe der Metadata-Eigenschaft von IronXL, um author, title, keywords und andere Dokumenteigenschaften programmgesteuert ohne Microsoft Interop festzulegen, was eine automatisierte Organisation und Durchsuchbarkeit von Tabellenkalkulationen ermöglicht.
Die Metadaten für eine Excel-Tabelle enthalten Informationen zu title, author, subject, keywords, creation date, modification date und anderen relevanten Details. Metadaten liefern Kontext und helfen bei der Organisation und Kategorisierung von Tabellenkalkulationen. Sie vereinfacht die Dateisuche und -verwaltung, insbesondere bei der Arbeit mit mehreren Tabellenkalkulationsdateien. Ganz gleich, ob Sie neue Tabellenkalkulationen erstellen oder vorhandene Arbeitsmappen laden – IronXL sorgt für eine nahtlose Verwaltung von Metadaten.
Schnellstart: Bearbeiten Sie die Metadaten der Arbeitsmappe in einem einfachen Schritt
Legen Sie Eigenschaften wie Title, Author oder Keywords über die Metadaten-Schnittstelle von IronXL fest, ändern Sie sie und speichern Sie sie. Keine Interop erforderlich – legen Sie sofort los mit nur wenigen Zeilen übersichtlichem, intuitivem C#-Code.
-
Installieren Sie IronXL mit NuGet Package Manager
PM > Install-Package IronXL.Excel -
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
IronXl.WorkBook.Load("input.xlsx").Metadata.Title = "Financial Summary"; // Then save your update to a new file IronXl.WorkBook.Load("input.xlsx").SaveAs("output.xlsx"); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronXL in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (5 Schritte)
- Laden Sie die C#-Bibliothek herunter, um die Metadaten der Arbeitsmappe zu bearbeiten
- Laden Sie eine vorhandene Tabelle oder erstellen Sie eine neue
- Greifen Sie auf die Metadateninformationen zu und ändern Sie diese mithilfe der `Metadata` Eigenschaft
- Tabellendaten anzeigen und bearbeiten
- Exportieren Sie die Tabelle mit den bearbeiteten Metadaten-Eigenschaften
Wie bearbeite ich die Metadaten-Eigenschaften einer Arbeitsmappe?
Um den Autorennamen einer Tabellenkalkulationsdatei zu bearbeiten, setzen Sie die Eigenschaft Author auf die gewünschte Zeichenfolge. Zum Beispiel workBook.Metadata.Author = "Your Name". Auf die Metadateninformationen, die in der Eigenschaft Metadata der Klasse WorkBook verfügbar sind, kann zugegriffen und diese können abgerufen werden. Dieser Ansatz funktioniert nahtlos mit verschiedenen Tabellenkalkulationsdateiformaten, darunter die Formate XLSX, XLS und CSV.
Welche Eigenschaften kann ich programmgesteuert ändern?
:path=/static-assets/excel/content-code-examples/how-to/edit-workbook-metadata.cs
using IronXL;
using System;
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Set author
workBook.Metadata.Author = "Your Name";
// Set comments
workBook.Metadata.Comments = "Monthly report";
// Set title
workBook.Metadata.Title = "July";
// Set keywords
workBook.Metadata.Keywords = "Report";
// Read the creation date of the excel file
DateTime? creationDate = workBook.Metadata.Created;
// Read the last printed date of the excel file
DateTime? printDate = workBook.Metadata.LastPrinted;
workBook.SaveAs("editedMetadata.xlsx");
Imports IronXL
Imports System
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Set author
workBook.Metadata.Author = "Your Name"
' Set comments
workBook.Metadata.Comments = "Monthly report"
' Set title
workBook.Metadata.Title = "July"
' Set keywords
workBook.Metadata.Keywords = "Report"
' Read the creation date of the excel file
Dim creationDate? As DateTime = workBook.Metadata.Created
' Read the last printed date of the excel file
Dim printDate? As DateTime = workBook.Metadata.LastPrinted
workBook.SaveAs("editedMetadata.xlsx")
Für komplexere Szenarien können Sie die Bearbeitung von Metadaten mit anderen Excel-Funktionen kombinieren. Hier ist ein umfassendes Beispiel, das die Stapelverarbeitung mehrerer Excel-Dateien veranschaulicht:
using IronXL;
using System;
using System.IO;
public class BatchMetadataProcessor
{
public static void ProcessFinancialReports(string folderPath)
{
// Get all Excel files in the directory
string[] excelFiles = Directory.GetFiles(folderPath, "*.xlsx");
foreach (string filePath in excelFiles)
{
// Load the workbook
WorkBook workBook = WorkBook.Load(filePath);
// Update metadata based on file content
string fileName = Path.GetFileNameWithoutExtension(filePath);
// Set consistent metadata across all reports
workBook.Metadata.Author = "Finance Department";
workBook.Metadata.Com/pany = "Your Company Name";
workBook.Metadata.Category = "Financial Reports";
// Set dynamic metadata based on filename
if (fileName.Co/ntains("Q1"))
{
workBook.Metadata.Title = "Q1 Financial Report";
workBook.Metadata.Keywords = "Q1, Finance, Quarterly";
}
else if (fileName.Co/ntains("Q2"))
{
workBook.Metadata.Title = "Q2 Financial Report";
workBook.Metadata.Keywords = "Q2, Finance, Quarterly";
}
// Add timestamp to comments
workBook.Metadata.Com/ments = $"Processed on {DateTime.Now:yyyy-MM-dd HH:mm}";
// Set the subject based on worksheet content
WorkSheet sheet = workBook.DefaultWorkSheet;
workBook.Metadata.Subject = $"Report containing {sheet.RowCount} data rows";
// Save with updated metadata
string outputPath = Path.Com/bine(folderPath, "processed", fileName + "_updated.xlsx");
workBook.SaveAs(outputPath);
}
}
}
using IronXL;
using System;
using System.IO;
public class BatchMetadataProcessor
{
public static void ProcessFinancialReports(string folderPath)
{
// Get all Excel files in the directory
string[] excelFiles = Directory.GetFiles(folderPath, "*.xlsx");
foreach (string filePath in excelFiles)
{
// Load the workbook
WorkBook workBook = WorkBook.Load(filePath);
// Update metadata based on file content
string fileName = Path.GetFileNameWithoutExtension(filePath);
// Set consistent metadata across all reports
workBook.Metadata.Author = "Finance Department";
workBook.Metadata.Com/pany = "Your Company Name";
workBook.Metadata.Category = "Financial Reports";
// Set dynamic metadata based on filename
if (fileName.Co/ntains("Q1"))
{
workBook.Metadata.Title = "Q1 Financial Report";
workBook.Metadata.Keywords = "Q1, Finance, Quarterly";
}
else if (fileName.Co/ntains("Q2"))
{
workBook.Metadata.Title = "Q2 Financial Report";
workBook.Metadata.Keywords = "Q2, Finance, Quarterly";
}
// Add timestamp to comments
workBook.Metadata.Com/ments = $"Processed on {DateTime.Now:yyyy-MM-dd HH:mm}";
// Set the subject based on worksheet content
WorkSheet sheet = workBook.DefaultWorkSheet;
workBook.Metadata.Subject = $"Report containing {sheet.RowCount} data rows";
// Save with updated metadata
string outputPath = Path.Com/bine(folderPath, "processed", fileName + "_updated.xlsx");
workBook.SaveAs(outputPath);
}
}
}
Imports IronXL
Imports System
Imports System.IO
Public Class BatchMetadataProcessor
Public Shared Sub ProcessFinancialReports(folderPath As String)
' Get all Excel files in the directory
Dim excelFiles As String() = Directory.GetFiles(folderPath, "*.xlsx")
For Each filePath As String In excelFiles
' Load the workbook
Dim workBook As WorkBook = WorkBook.Load(filePath)
' Update metadata based on file content
Dim fileName As String = Path.GetFileNameWithoutExtension(filePath)
' Set consistent metadata across all reports
workBook.Metadata.Author = "Finance Department"
workBook.Metadata.Company = "Your Company Name"
workBook.Metadata.Category = "Financial Reports"
' Set dynamic metadata based on filename
If fileName.Contains("Q1") Then
workBook.Metadata.Title = "Q1 Financial Report"
workBook.Metadata.Keywords = "Q1, Finance, Quarterly"
ElseIf fileName.Contains("Q2") Then
workBook.Metadata.Title = "Q2 Financial Report"
workBook.Metadata.Keywords = "Q2, Finance, Quarterly"
End If
' Add timestamp to comments
workBook.Metadata.Comments = $"Processed on {DateTime.Now:yyyy-MM-dd HH:mm}"
' Set the subject based on worksheet content
Dim sheet As WorkSheet = workBook.DefaultWorkSheet
workBook.Metadata.Subject = $"Report containing {sheet.RowCount} data rows"
' Save with updated metadata
Dim outputPath As String = Path.Combine(folderPath, "processed", fileName & "_updated.xlsx")
workBook.SaveAs(outputPath)
Next
End Sub
End Class
Was passiert mit den vorhandenen Metadaten, wenn ich speichere?
Wenn Sie Excel-Dateien using IronXL speichern oder exportieren, behalten alle Metadaten-Eigenschaften, die Sie nicht explizit geändert haben, ihre ursprünglichen Werte bei. Nur die von Ihnen geänderten Eigenschaften werden in der gespeicherten Datei aktualisiert. Dieser selektive Aktualisierungsansatz stellt sicher, dass wertvolle vorhandene Metadaten während der Verarbeitung nicht versehentlich verloren gehen. Das folgende Bild zeigt, wie Metadaten im Dokumenteneigenschaftenfenster von Excel angezeigt werden, nachdem sie mit IronXL bearbeitet wurden:
Wenn Sie vorhandene Metadaten löschen müssen, bevor Sie neue Werte festlegen, weisen Sie den Eigenschaften, die Sie zurücksetzen möchten, einfach leere Zeichenfolgen oder Nullwerte zu. Dies ist besonders nützlich bei der Vorbereitung von Dokumenten für die externe Verbreitung, bei der Sie interne Unternehmensinformationen entfernen möchten.
Welche Metadatenfelder sind in IronXL verfügbar?
Nicht alle Metadaten-Eigenschaften können bearbeitet werden. Einige Eigenschaften können nur abgerufen werden. Für ein effektives Metadatenmanagement ist es entscheidend zu verstehen, welche Eigenschaften verschiedene Operationen unterstützen. Bei der Arbeit mit passwortgeschützten Arbeitsmappen können Metadaten auch nach erfolgreicher Entschlüsselung der Arbeitsmappe weiterhin abgerufen und geändert werden.
Welche Eigenschaften unterstützen Lese- und Schreibvorgänge?
| Eigenschaft | Beschreibung | Betrieb | Häufige Anwendungsfälle |
|---|---|---|---|
Author |
Name des Dokumentautors | Festlegen, Ändern, Abrufen | Verfolgung von Dokumentenverantwortung und Compliance |
Comments |
Zusätzliche Hinweise zum Dokument | Festlegen, Ändern, Abrufen | Versionshinweise, Verarbeitungsanweisungen |
LastPrinted |
Datum/Uhrzeit des letzten PRINT-Vorgangs | Festlegen, Ändern, Abrufen | Verfolgung des Druckverlaufs, Prüfpfade |
Keywords |
Durchsuchbare Schlüsselwörter | Festlegen, Ändern, Abrufen | Dokumentenkategorisierung, Suchoptimierung |
Category |
Klassifizierung der Dokumentkategorien | Festlegen, Ändern, Abrufen | Dateiorganisation, Sortierung nach Abteilungen |
Created |
Erstellungsdatum des Dokuments | Festlegen, Ändern, Abrufen | Verfolgung des Dokumentalters, Archivierungsentscheidungen |
ModifiedDate |
Datum der letzten Änderung | Festlegen, Ändern, Abrufen | Änderungsverfolgung, Versionskontrolle |
Subject |
Beschreibung des Dokumentthemas | Festlegen, Ändern, Abrufen | Zusammenfassung des Inhalts, schnelle Identifizierung |
Title |
Dokumenttitel | Festlegen, Ändern, Abrufen | Dokumentidentifikation, Berichterstellung |
Welche Eigenschaften sind schreibgeschützt?
| Eigenschaft | Beschreibung | Typische Werte |
|---|---|---|
ApplicationName |
Name der Anwendung, mit der die Datei erstellt wurde | "Microsoft Excel", "IronXL" |
CustomProperties |
Benutzerdefinierte Eigenschaften | Je nach Dokument unterschiedlich |
Company |
Mit dem Dokument verbundener Firmenname | Organisationsname aus dem System |
Manager |
Name des Managers aus den Dokumenteigenschaften | Aus der Originaldatei abgerufen |
Template |
Zur Erstellung des Dokuments verwendete Vorlage | Vorlagendateiname oder "Normal" |
Informationen zu erweiterten Metadatenoperationen und die vollständige API-Dokumentation finden Sie in der IronXL-API Referenz. Sollten Sie Probleme mit der Verarbeitung von Metadaten haben, lesen Sie unsere Anleitungen zur Fehlerbehebung oder informieren Sie sich über Lizenzoptionen für den produktiven Einsatz.
Häufig gestellte Fragen
Wie kann ich Excel-Metadaten programmatisch in C# bearbeiten?
IronXL bietet eine einfache Metadaten-Eigenschaft für die WorkBook-Klasse, mit der Sie Excel-Metadaten programmatisch bearbeiten können. Sie können Eigenschaften wie Titel, Autor, Betreff und Schlüsselwörter einfach einstellen, ohne dass Sie Microsoft Interop benötigen. Laden Sie einfach Ihre Arbeitsmappe und greifen Sie auf workBook.Metadata zu, um eine beliebige Metadateneigenschaft zu ändern.
Welche Metadateneigenschaften kann ich in einer Excel-Datei ändern?
Mit IronXL können Sie verschiedene Metadateneigenschaften wie Autor, Titel, Thema, Schlüsselwörter, Kategorie, Kommentare, Status, Manager und Unternehmen ändern. Die Bibliothek bietet außerdem Lesezugriff auf das Erstellungs- und Änderungsdatum und ermöglicht so eine umfassende Metadatenverwaltung für Ihre Tabellenkalkulationen.
Muss ich Microsoft Office installiert haben, um Excel-Metadaten zu bearbeiten?
Nein, IronXL erfordert nicht die Installation von Microsoft Office oder Interop. Es handelt sich um eine eigenständige C#-Bibliothek, die Excel-Dateien und deren Metadaten unabhängig lesen, schreiben und ändern kann, was sie ideal für Serverumgebungen oder Systeme ohne Office-Installation macht.
Kann ich Metadaten für mehrere Excel-Dateien im Stapel verarbeiten?
Ja, IronXL unterstützt die Stapelverarbeitung von Excel-Dateien. Sie können mehrere Tabellenblätter in einem Verzeichnis durchlaufen, jedes einzelne mit WorkBook.Load() laden, ihre Metadateneigenschaften ändern und sie wieder speichern. Dies ist besonders nützlich, um große Sammlungen von Tabellenkalkulationsdateien zu organisieren.
Welche Excel-Dateiformate unterstützen die Bearbeitung von Metadaten?
Die Metadaten-Bearbeitungsfunktionen von IronXL funktionieren nahtlos mit verschiedenen Tabellenkalkulationsdateiformaten, darunter XLSX-, XLS- und CSV-Dateien. Die Bibliothek behandelt die formatspezifischen Details intern, so dass Sie unabhängig vom Dateityp dieselbe Schnittstelle für Metadateneigenschaften verwenden können.
Wie speichere ich die Änderungen an den Metadaten nach der Bearbeitung?
Nach der Änderung von Metadateneigenschaften mit IronXL rufen Sie einfach die Methode Save() auf, um die vorhandene Datei zu aktualisieren, oder SaveAs(), um eine neue Datei mit den aktualisierten Metadaten zu erstellen. Die Bibliothek speichert automatisch alle Metadatenänderungen zusammen mit den Änderungen der Tabellenkalkulationsdaten.

