Como Editar Metadados de Planilha Excel em C# com IronXL
Edite metadados ao criar planilha Excel ou editar planilha 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.
-
Instale IronXL com o Gerenciador de Pacotes NuGet
PM > Install-Package IronXL.Excel -
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"); -
Implante para testar em seu ambiente de produção.
Comece a usar IronXL em seu projeto hoje com uma avaliação gratuita
- Baixe a biblioteca C# para editar metadados de pasta de trabalho
- Carregue uma planilha existente ou crie uma nova.
- Access and modify the metadata information using the `Metadata` property
- Visualizar e modificar os dados da planilha
- Exporte a planilha com as propriedades de metadados editadas.
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");
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")
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);
}
}
}
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
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:
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.

