Cómo editar metadatos de libro de trabajo en C#

Cómo editar metadatos de libros de Excel en C

This article was translated from English: Does it need improvement?
Translated
View the article in English

Edite los metadatos de Excel en C# usando la propiedad Metadata de IronXL para establecer mediante programación author, title, keywords y otras propiedades del documento sin Microsoft Interop, lo que permite la organización y búsqueda automatizadas de hojas de cálculo.

Los metadatos de una hoja de cálculo de Excel incluyen información sobre title, author, subject, keywords, creation date, modification date y otros detalles relevantes. Los metadatos proporcionan contexto y ayudan a organizar y categorizar las hojas de cálculo. Simplifican la búsqueda y gestión de archivos, especialmente cuando se trabaja con múltiples archivos de hojas de cálculo. Tanto si estás creando nuevas hojas de cálculo como si estás cargando libros de trabajo existentes, IronXL hace que la gestión de metadatos sea perfecta.

Inicio rápido: edite los metadatos del libro de trabajo en un solo paso sencillo

Establezca, modifique y guarde propiedades como Title, Author o Keywords utilizando la interfaz de metadatos de IronXL. No necesitas Interop: comienza al instante con solo unas pocas líneas de código C# limpio e intuitivo.

  1. Instala IronXL con el Administrador de Paquetes NuGet

    PM > Install-Package IronXl.Excel
  2. Copie y ejecute este fragmento de código.

    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");
  3. Despliegue para probar en su entorno real

    Comienza a usar IronXL en tu proyecto hoy mismo con una prueba gratuita

    arrow pointer

¿Cómo edito las propiedades de los metadatos de los libros de trabajo?

Para editar el nombre del autor de un archivo de hoja de cálculo, configure la propiedad Author con la cadena de datos deseada. Por ejemplo, workBook.Metadata.Author = "Your Name". Se puede acceder y recuperar la información de metadatos disponible en la propiedad Metadata de la clase WorkBook. Este enfoque funciona perfectamente con varios tipos de archivos de hojas de cálculo , incluidos los formatos XLSX, XLS y CSV.

¿Qué propiedades puedo modificar mediante programación?

: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");
$vbLabelText   $csharpLabel

Para situaciones más complejas, puede combinar la edición de metadatos con otras operaciones de Excel. Aquí tienes un ejemplo completo que muestra el procesamiento por lotes de varios archivos de 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);
        }
    }
}
$vbLabelText   $csharpLabel

¿Qué ocurre con los metadatos existentes cuando guardo?

Cuando guarda o exporta archivos de Excel utilizando IronXL, cualquier propiedad de metadatos que no haya modificado explícitamente conserva sus valores originales. Sólo se actualizarán en el archivo guardado las propiedades que hayas modificado. Este enfoque de actualización selectiva garantiza que los valiosos metadatos existentes no se pierdan accidentalmente durante el procesamiento. La siguiente imagen muestra cómo aparecen los metadatos en el panel de propiedades del documento de Excel después de ser editados con IronXL:

Panel de propiedades de un documento de Excel que muestra los campos de metadatos editados, incluidos Autor, Título, Asunto y Palabras clave, tras su modificación con IronXL

Si necesita borrar los metadatos existentes antes de establecer nuevos valores, simplemente asigne cadenas vacías o valores nulos a las propiedades que desea restablecer. Esto resulta especialmente útil cuando se preparan documentos para distribución externa en los que se desea eliminar la información interna de la empresa.


¿Qué campos de metadatos están disponibles en IronXL?

No todas las propiedades de los metadatos pueden editarse. Algunas propiedades solo pueden ser recuperadas. Comprender qué propiedades soportan las distintas operaciones es crucial para una gestión eficaz de los metadatos. Cuando se trabaja con libros de trabajo protegidos por contraseña, se puede seguir accediendo a los metadatos y modificándolos después de descifrar correctamente el libro de trabajo.

¿Qué propiedades admiten operaciones de lectura y escritura?

Propiedad Descripción Operaciones Casos de uso comunes
Author Nombre del creador del documento Establecer, modificar, recuperar Seguimiento de la propiedad de los documentos, conformidad
Comments Notas adicionales sobre el documento Establecer, modificar, recuperar Notas sobre la versión, instrucciones de procesamiento
LastPrinted Fecha/hora de la última operación de impresión Establecer, modificar, recuperar Seguimiento del historial de impresión, registros de auditoría
Keywords Palabras clave para la búsqueda Establecer, modificar, recuperar Categorización de documentos, optimización de búsquedas
Category Clasificación por categorías de documentos Establecer, modificar, recuperar Organización de archivos, clasificación por departamentos
Created Fecha de creación del documento Establecer, modificar, recuperar Seguimiento de la antigüedad de los documentos, decisiones de archivo
ModifiedDate Fecha de la última modificación Establecer, modificar, recuperar Seguimiento de cambios, control de versiones
Subject Descripción del tema del documento Establecer, modificar, recuperar Resumen de contenidos, identificación rápida
Title Título del documento Establecer, modificar, recuperar Identificación de documentos, informes

¿Qué propiedades son de sólo lectura?

Propiedad Descripción Valores típicos
ApplicationName Nombre de la aplicación que creó el archivo "Microsoft Excel", "IronXL"
CustomProperties Propiedades personalizadas definidas por el usuario Varía según el documento
Company Nombre de la empresa asociada al documento Nombre de la organización del sistema
Manager Nombre del gestor a partir de las propiedades del documento Obtenido del archivo original
Template Plantilla utilizada para crear el documento Plantilla de nombre de archivo o "Normal

Para las operaciones avanzadas de metadatos y la documentación completa de la API, consulte la Referencia de la API de IronXL. Si encuentra algún problema con el manejo de metadatos, consulte nuestras guías de solución de problemas o explore opciones de licencia para implementaciones de producción.

Preguntas Frecuentes

¿Cómo puedo editar metadatos de Excel mediante programación en C#?

IronXL proporciona una simple propiedad Metadata en la clase WorkBook que le permite editar metadatos de Excel mediante programación. Puede establecer fácilmente propiedades como Título, Autor, Asunto y Palabras clave sin necesidad de Microsoft Interop. Simplemente cargue su libro y acceda a workBook.Metadata para modificar cualquier propiedad de metadatos.

¿Qué propiedades de metadatos puedo modificar en un archivo Excel?

Con IronXL, puede modificar varias propiedades de metadatos, como autor, título, asunto, palabras clave, categoría, comentarios, estado, administrador y empresa. La biblioteca también proporciona acceso de sólo lectura a las fechas de creación y modificación, lo que permite una gestión completa de los metadatos de sus hojas de cálculo.

¿Necesito tener instalado Microsoft Office para editar metadatos de Excel?

No, IronXL no requiere la instalación de Microsoft Office o Interop. Es una biblioteca independiente de C# que puede leer, escribir y modificar archivos de Excel y sus metadatos de forma independiente, por lo que es ideal para entornos de servidor o sistemas sin instalaciones de Office.

¿Puedo procesar por lotes los metadatos de varios archivos Excel?

Sí, IronXL admite el procesamiento por lotes de archivos de Excel. Puede iterar a través de múltiples hojas de cálculo en un directorio, cargar cada una usando WorkBook.Load(), modificar sus propiedades de metadatos y volver a guardarlas. Esto es particularmente útil para organizar grandes colecciones de archivos de hojas de cálculo.

¿Qué formatos de archivo Excel admiten la edición de metadatos?

Las capacidades de edición de metadatos de IronXL funcionan a la perfección con varios formatos de archivo de hoja de cálculo, incluidos los archivos XLSX, XLS y CSV. La biblioteca maneja internamente los detalles específicos del formato, lo que le permite utilizar la misma interfaz de propiedades de metadatos independientemente del tipo de archivo.

¿Cómo guardo los cambios en los metadatos después de editarlos?

Tras modificar las propiedades de los metadatos mediante IronXL, basta con llamar al método Save() para actualizar el archivo existente o a SaveAs() para crear un nuevo archivo con los metadatos actualizados. La biblioteca persiste automáticamente todos los cambios de metadatos junto con cualquier modificación de los datos de la hoja de cálculo.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 12
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 19
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

¿Listo para empezar?
Nuget Descargas 1,890,100 | Versión: 2026.3 recién lanzado

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 17
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 24
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronXl.Excel
ejecuta una muestra observa cómo tus datos se convierten en una hoja de cálculo.