Comment modifier les métadonnées d'un classeur Excel en C
Modifiez les métadonnées dans un fichier Excel en C# en utilisant la propriété Metadata d’IronXL pour définir par programmation author, title, keywords et d'autres propriétés du document sans Microsoft Interop, permettant une organisation et une recherche automatisées des feuilles de calcul.
Les métadonnées d'une feuille de calcul Excel comprennent des informations sur title, author, subject, keywords, creation date, modification date, et d'autres détails pertinents. Les métadonnées fournissent un contexte et aident à organiser et à catégoriser les feuilles de calcul. Il simplifie la recherche et la gestion des fichiers, notamment lors de l'utilisation de plusieurs fichiers tableur. Que vous créiez de nouvelles feuilles de calcul ou chargiez des classeurs existants, IronXL rend la gestion des métadonnées transparente.
Démarrage rapide : Modifiez les métadonnées du classeur en une seule étape
Définissez, modifiez et enregistrez des propriétés telles que Title, Author ou Keywords à l'aide de l'interface de métadonnées d'IronXL. Pas besoin d'interopérabilité : démarrez instantanément avec seulement quelques lignes de code C# clair et intuitif.
-
Installez IronXL avec le Gestionnaire de Packages NuGet
PM > Install-Package IronXL.Excel -
Copiez et exécutez cet extrait de code.
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"); -
Déployez pour tester sur votre environnement de production.
Commencez à utiliser IronXL dans votre projet dès aujourd'hui avec un essai gratuit
Flux de travail minimal (5 étapes)
- Téléchargez la bibliothèque C# pour modifier les métadonnées du classeur.
- Chargez une feuille de calcul existante ou créez-en une toute nouvelle
- Access and modify the metadata information using the `Metadata` property
- Visualisez et modifiez les données de la feuille de calcul
- Exportez la feuille de calcul avec les propriétés de métadonnées modifiées
Comment modifier les propriétés des métadonnées d'un classeur?
Pour modifier le nom de l'auteur d'un fichier tableur, définissez la propriété Author avec la chaîne de données souhaitée. Par exemple, workBook.Metadata.Author = "Your Name". Les informations de métadonnées disponibles dans la propriété Metadata de la classe WorkBook peuvent être consultées et récupérées. Cette approche fonctionne parfaitement avec différents types de fichiers tableur , y compris les formats XLSX, XLS et CSV.
Quelles sont les propriétés que je peux modifier par programme?
: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")
Pour des scénarios plus complexes, vous pouvez combiner l'édition de métadonnées avec d'autres opérations Excel. Voici un exemple complet qui démontre le traitement par lots de plusieurs fichiers Excel :
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.Company = "Your Company Name";
workBook.Metadata.Category = "Financial Reports";
// Set dynamic metadata based on filename
if (fileName.Contains("Q1"))
{
workBook.Metadata.Title = "Q1 Financial Report";
workBook.Metadata.Keywords = "Q1, Finance, Quarterly";
}
else if (fileName.Contains("Q2"))
{
workBook.Metadata.Title = "Q2 Financial Report";
workBook.Metadata.Keywords = "Q2, Finance, Quarterly";
}
// Add timestamp to comments
workBook.Metadata.Comments = $"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.Combine(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.Company = "Your Company Name";
workBook.Metadata.Category = "Financial Reports";
// Set dynamic metadata based on filename
if (fileName.Contains("Q1"))
{
workBook.Metadata.Title = "Q1 Financial Report";
workBook.Metadata.Keywords = "Q1, Finance, Quarterly";
}
else if (fileName.Contains("Q2"))
{
workBook.Metadata.Title = "Q2 Financial Report";
workBook.Metadata.Keywords = "Q2, Finance, Quarterly";
}
// Add timestamp to comments
workBook.Metadata.Comments = $"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.Combine(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
Qu'advient-il des métadonnées existantes lorsque j'enregistre ?
Lorsque vous enregistrez ou exportez des fichiers Excel à l'aide d'IronXL, toutes les propriétés de métadonnées que vous n'avez pas explicitement modifiées conservent leurs valeurs d'origine. Seules les propriétés que vous avez modifiées seront mises à jour dans le fichier enregistré. Cette approche sélective de la mise à jour permet de s'assurer que les précieuses métadonnées existantes ne sont pas accidentellement perdues au cours du traitement. L'image ci-dessous montre comment les métadonnées apparaissent dans le panneau des propriétés du document d'Excel après avoir été modifiées avec IronXL :
Si vous devez effacer les métadonnées existantes avant de définir de nouvelles valeurs, il vous suffit d'attribuer des chaînes vides ou des valeurs nulles aux propriétés que vous souhaitez réinitialiser. Ceci est particulièrement utile lorsque vous préparez des documents destinés à une distribution externe et que vous souhaitez supprimer les informations internes à l'entreprise.
Quels sont les champs de métadonnées disponibles dans IronXL?
Toutes les propriétés des métadonnées ne peuvent pas être modifiées. Certaines propriétés ne peuvent être que récupérées. Pour une gestion efficace des métadonnées, il est essentiel de comprendre quelles propriétés prennent en charge les différentes opérations. Lorsque vous travaillez avec des classeurs protégés par un mot de passe (password-protected workbooks), les métadonnées peuvent encore être consultées et modifiées après que le classeur a été décrypté avec succès.
Quelles sont les propriétés qui prennent en charge les opérations de lecture et d'écriture ?
| Propriété | Description du projet | Opérations | Cas d'utilisation courants |
|---|---|---|---|
Author |
Nom du créateur du document | Définir, Modifier, Récupérer | Suivi de la propriété des documents, conformité |
Comments |
Notes supplémentaires sur le document | Définir, Modifier, Récupérer | Notes de version, instructions de traitement |
LastPrinted |
Date/heure de la dernière opération d'impression | Définir, Modifier, Récupérer | Suivi de l'historique des impressions, pistes d'audit |
Keywords |
Mots clés consultables | Définir, Modifier, Récupérer | Catégorisation des documents, optimisation de la recherche |
Category |
Classification des catégories de documents | Définir, Modifier, Récupérer | Organisation des dossiers, tri par département |
Created |
Date de création du document | Définir, Modifier, Récupérer | Suivi de l'âge des documents, décisions d'archivage |
ModifiedDate |
Date de la dernière modification | Définir, Modifier, Récupérer | Suivi des modifications, contrôle des versions |
Subject |
Description du projetdu sujet du document | Définir, Modifier, Récupérer | Résumé du contenu, identification rapide |
Title |
Titre du document | Définir, Modifier, Récupérer | Identification des documents, rapports |
Quelles sont les propriétés en lecture seule ?
| Propriété | Description du projet | Valeurs typiques |
|---|---|---|
ApplicationName |
Nom de l'application qui a créé le fichier | "Microsoft Excel", "IronXL.Excel" |
CustomProperties |
Propriétés personnalisées définies par l'utilisateur | Varie selon le document |
Company |
Nom de l'entreprise associée au document | Nom de l'organisation dans le système |
Manager |
Nom du gestionnaire à partir des propriétés du document | Extrait du fichier original |
Template |
Modèle utilisé pour créer le document | Nom de fichier modèle ou "Normal" |
Pour les opérations avancées sur les métadonnées et la documentation complète de l'API, reportez-vous à la Référence de l'API IronXL. Si vous rencontrez des problèmes avec le traitement des métadonnées, consultez nos guides de dépannage ou explorez les options de licence pour les déploiements en production.
Questions Fréquemment Posées
Comment puis-je modifier les métadonnées d'Excel de manière programmatique en C# ?
IronXL fournit une propriété Metadata simple sur la classe WorkBook qui vous permet d'éditer de manière programmatique les métadonnées d'Excel. Vous pouvez facilement définir des propriétés telles que le titre, l'auteur, le sujet et les mots-clés sans avoir recours à l'interopérabilité de Microsoft. Il suffit de charger votre classeur et d'accéder à workBook.Metadata pour modifier n'importe quelle propriété de métadonnées.
Quelles propriétés de métadonnées puis-je modifier dans un fichier Excel ?
Avec IronXL, vous pouvez modifier diverses propriétés de métadonnées, notamment l'auteur, le titre, le sujet, les mots-clés, la catégorie, les commentaires, le statut, le gestionnaire et la société. La bibliothèque offre également un accès en lecture seule aux dates de création et de modification, ce qui permet une gestion complète des métadonnées pour vos feuilles de calcul.
Dois-je installer Microsoft Office pour modifier les métadonnées d'Excel ?
Non, IronXL ne nécessite pas l'installation de Microsoft Office ou d'Interop. Il s'agit d'une bibliothèque C# autonome qui peut lire, écrire et modifier des fichiers Excel et leurs métadonnées de manière indépendante, ce qui la rend idéale pour les environnements de serveur ou les systèmes sans installation d'Office.
Puis-je traiter par lots les métadonnées de plusieurs fichiers Excel ?
Oui, IronXL prend en charge le traitement par lots des fichiers Excel. Vous pouvez parcourir plusieurs feuilles de calcul dans un répertoire, charger chacune d'entre elles à l'aide de WorkBook.Load(), modifier leurs propriétés de métadonnées et les enregistrer à nouveau. Ceci est particulièrement utile pour organiser de grandes collections de fichiers de feuilles de calcul.
Quels formats de fichiers Excel prennent en charge l'édition des métadonnées ?
Les capacités d'édition de métadonnées d'IronXL fonctionnent de manière transparente avec divers formats de fichiers de feuilles de calcul, notamment les fichiers XLSX, XLS et CSV. La bibliothèque gère en interne les détails spécifiques au format, ce qui vous permet d'utiliser la même interface de propriété de métadonnées quel que soit le type de fichier.
Comment sauvegarder les modifications de métadonnées après édition ?
Après avoir modifié les propriétés des métadonnées à l'aide d'IronXL, il suffit d'appeler la méthode Save() pour mettre à jour le fichier existant ou SaveAs() pour créer un nouveau fichier avec les métadonnées mises à jour. La bibliothèque conserve automatiquement tous les changements de métadonnées ainsi que toutes les modifications des données de la feuille de calcul.

