Como editar metadados de uma planilha em C#

Como Editar Metadados de uma Pasta de Trabalho do Excel em C

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

Edite metadados do Excel em C# usando a propriedade Metadata do IronXL para definir programaticamente author, title, keywords e outras propriedades de documento sem Microsoft Interop, permitindo organização e pesquisa automatizada de planilhas.

Os metadados de uma planilha Excel incluem informações sobre o title, author, subject, keywords, creation date, modification date e outros detalhes relevantes. Os metadados fornecem contexto e ajudam na organização e categorização de planilhas. Simplifica a busca e o gerenciamento de arquivos, especialmente ao trabalhar com múltiplos arquivos de planilhas. Quer você esteja criando novas planilhas ou carregando pastas de trabalho existentes, o IronXL torna o gerenciamento de metadados sem complicações.

Quickstart: Edite metadados de uma pasta de trabalho em um passo fácil

Defina, modifique e salve propriedades como Title, Author ou Keywords usando a interface de Metadata do IronXL. Não é necessário Interop - comece instantaneamente com apenas algumas linhas de código C# limpo e intuitivo.

  1. Instale IronXL com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronXl.Excel
  2. Copie e execute este trecho 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. Implante para testar em seu ambiente de produção.

    Comece a usar IronXL em seu projeto hoje com uma avaliação gratuita

    arrow pointer

Como Posso Editar as Propriedades de Metadados da Pasta de Trabalho?

Para editar o nome do autor de um arquivo de planilha, defina a propriedade Author com a string de dados desejada. Por exemplo, workBook.Metadata.Author = "Your Name". A informação de metadados disponível na propriedade Metadata da classe WorkBook pode ser acessada e recuperada. Essa abordagem funciona perfeitamente com vários tipos de arquivos de planilha, incluindo os formatos XLSX, XLS e CSV.

Quais Propriedades Posso Modificar Programaticamente?

: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 cenários mais complexos, você pode combinar a edição de metadados com outras operações do Excel. Aqui está um exemplo abrangente que demonstra o processamento em lote de vários arquivos 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

O que acontece com os metadados existentes quando eu salvo?

Quando você salva ou exporta arquivos Excel usando o IronXL, quaisquer propriedades de metadados que você não tenha modificado explicitamente retêm seus valores originais. Apenas as propriedades que você alterou serão atualizadas no arquivo salvo. Essa abordagem de atualização seletiva garante que metadados existentes valiosos não sejam acidentalmente perdidos durante o processamento. A imagem abaixo mostra como os metadados aparecem no painel de propriedades do documento do Excel após serem editados com o IronXL:

Painel de propriedades do documento do Excel mostrando os campos de metadados editados, incluindo Autor, Título, Assunto e Palavras-chave após modificação com IronXL

Se você precisar limpar os metadados existentes antes de definir novos valores, basta atribuir strings vazias ou valores nulos às propriedades que deseja redefinir. Isso é particularmente útil ao preparar documentos para distribuição externa quando você deseja remover informações internas da empresa.


Quais campos de metadados estão disponíveis no IronXL?

Nem todas as propriedades de metadados podem ser editadas. Algumas propriedades só podem ser recuperadas. Entender quais propriedades suportam diferentes operações é crucial para uma gestão eficaz de metadados. Ao trabalhar com pastas de trabalho protegidas por senha, os metadados ainda podem ser acessados e modificados após a pasta de trabalho ser decifrada com sucesso.

Quais propriedades suportam operações de leitura e escrita?

Propriedade Descrição Operações Casos de uso comuns
Author Nome do criador do documento Definir, Modificar, Recuperar Rastreamento de propriedade do documento, conformidade
Comments Notas adicionais sobre o documento Definir, Modificar, Recuperar Notas de versão, instruções de processamento
LastPrinted Data/hora da última operação de impressão Definir, Modificar, Recuperar Rastreamento do histórico de impressão, trilhas de auditoria
Keywords Palavras-chave pesquisáveis Definir, Modificar, Recuperar Categorização de documentos, otimização de busca
Category Classificação de categoria de documento Definir, Modificar, Recuperar Organização de arquivos, classificação departamental
Created Data de criação do documento Definir, Modificar, Recuperar Rastreamento de idade do documento, decisões de arquivamento
ModifiedDate Data da última modificação Definir, Modificar, Recuperar Rastreamento de alterações, controle de versão
Subject Descrição do assunto do documento Definir, Modificar, Recuperar Resumir conteúdo, identificação rápida
Title Título do documento Definir, Modificar, Recuperar Identificação e relatórios do documento

Quais propriedades são somente leitura?

Propriedade Descrição Valores típicos
ApplicationName Nome do aplicativo que criou o arquivo "Microsoft Excel", "IronXL"
CustomProperties Propriedades personalizadas definidas pelo usuário Varia por documento
Company Nome da empresa associado ao documento Nome da organização do sistema
Manager Nome do gerente das propriedades do documento Recuperado do arquivo original
Template Modelo usado para criar o documento Nome do arquivo do modelo ou "Normal"

Para operações avançadas de metadados e documentação completa da API, consulte a Referência da API do IronXL. Se encontrar algum problema com o manuseio de metadados, consulte nossos guias de solução de problemas ou explore opções de licenciamento para implementações em produção.

Perguntas frequentes

Como posso editar metadados do Excel programaticamente em C#?

O IronXL fornece uma propriedade Metadata simples na classe WorkBook que permite editar metadados do Excel programaticamente. Você pode definir facilmente propriedades como Título, Autor, Assunto e Palavras-chave sem precisar do Microsoft Interop. Basta carregar sua planilha e acessar workBook.Metadata para modificar qualquer propriedade de metadados.

Quais propriedades de metadados posso modificar em um arquivo do Excel?

Com o IronXL, você pode modificar diversas propriedades de metadados, incluindo Autor, Título, Assunto, Palavras-chave, Categoria, Comentários, Status, Gerente e Empresa. A biblioteca também oferece acesso somente leitura às datas de criação e modificação, permitindo um gerenciamento completo de metadados para suas planilhas.

Preciso ter o Microsoft Office instalado para editar metadados do Excel?

Não, o IronXL não requer a instalação do Microsoft Office ou do Interop. É uma biblioteca C# independente que pode ler, gravar e modificar arquivos Excel e seus metadados de forma independente, tornando-a ideal para ambientes de servidor ou sistemas sem o Office instalado.

Posso processar em lote os metadados de vários arquivos do Excel?

Sim, o IronXL suporta o processamento em lote de arquivos Excel. Você pode percorrer várias planilhas em um diretório, carregar cada uma usando WorkBook.Load(), modificar suas propriedades de metadados e salvá-las novamente. Isso é particularmente útil para organizar grandes coleções de arquivos de planilha.

Quais formatos de arquivo do Excel suportam edição de metadados?

Os recursos de edição de metadados do IronXL funcionam perfeitamente com vários formatos de planilha, incluindo XLSX, XLS e CSV. A biblioteca lida internamente com os detalhes específicos de cada formato, permitindo que você use a mesma interface de propriedades de metadados, independentemente do tipo de arquivo.

Como faço para salvar as alterações de metadados após a edição?

Após modificar as propriedades de metadados usando o IronXL, basta chamar o método Save() para atualizar o arquivo existente ou SaveAs() para criar um novo arquivo com os metadados atualizados. A biblioteca persiste automaticamente todas as alterações de metadados, juntamente com quaisquer modificações nos dados da planilha.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

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

Pronto para começar?
Nuget Downloads 1,890,100 | Versão: 2026.3 acaba de ser lançado

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

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronXl.Excel
executar um exemplo Veja seus dados se transformarem em uma planilha.