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 metadatos de Excel en C# utilizando la propiedad Metadata de IronXL para establecer mediante programación autor, título, palabras clave y otras propiedades de documentos sin Microsoft Interop, lo que permite la organización automatizada de hojas de cálculo y la capacidad de búsqueda.

Los metadatos de una hoja de cálculo de Excel incluyen información sobre el <código>título</código>, <código>autor</código>, <código>tema</código>, <código>palabras clave</código>, <código>fecha de creación</código>, <código>fecha de modificación</código> 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.

como-encabezado:2(Inicio rápido: Editar metadatos del libro de trabajo en un solo paso fácil)

Establezca, modifique y guarde propiedades como <código>Título</código>, <código>Autor</código> o <código>Palabras clave</código> 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.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronXL con el gestor 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

    Empieza a utilizar 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, establece la propiedad Autorcon la cadena de datos deseada. Por ejemplo, workBook.Metadata.Author = "Tu Nombre". La información de metadatos disponible en la propiedad Metadata de la clase WorkBook puede ser accesada y recuperada. Este enfoque funciona a la perfección con varios tipos de archivo hoja 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 del documento de Excel que muestra los campos de metadatos editados, incluidos Autor, Título, Asunto y Palabras clave después de la 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?

PropiedadDescripciónOperacionesCasos de uso comunes
AutorNombre del creador del documentoEstablecer, modificar, recuperarSeguimiento de la propiedad de los documentos, conformidad
ComentariosNotas adicionales sobre el documentoEstablecer, modificar, recuperarNotas sobre la versión, instrucciones de procesamiento
Última impresiónFecha/hora de la última operación de impresiónEstablecer, modificar, recuperarSeguimiento del historial de impresión, registros de auditoría
Palabras clavePalabras clave para la búsquedaEstablecer, modificar, recuperarCategorización de documentos, optimización de búsquedas
<código>Categoría</código>Clasificación por categorías de documentosEstablecer, modificar, recuperarOrganización de archivos, clasificación por departamentos
CreadoFecha de creación del documentoEstablecer, modificar, recuperarSeguimiento de la antigüedad de los documentos, decisiones de archivo
FechaModificadaFecha de la última modificaciónEstablecer, modificar, recuperarSeguimiento de cambios, control de versiones
<código>Asunto</códigoDescripción del tema del documentoEstablecer, modificar, recuperarResumen de contenidos, identificación rápida
<código>Título</códigoTítulo del documentoEstablecer, modificar, recuperarIdentificación de documentos, informes

¿Qué propiedades son de sólo lectura?

PropiedadDescripciónValores típicos
<código>NombreDeLaAplicación</códigoNombre de la aplicación que creó el archivo"Microsoft Excel", "IronXL"
Propiedades personalizadasPropiedades personalizadas definidas por el usuarioVaría según el documento
EmpresaNombre de la empresa asociada al documentoNombre de la organización del sistema
GestorNombre del gestor a partir de las propiedades del documentoObtenido del archivo original
PlantillaPlantilla utilizada para crear el documentoPlantilla 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
¿Listo para empezar?
Nuget Descargas 1,802,965 | Versión: 2025.12 recién lanzado