Jak edytować metadane skoroszytu Excel w C
Edytuj metadane Excel w C# używając właściwości IronXL's Metadata do programowego ustawiania author, title, keywords oraz innych właściwości dokumentu bez Microsoft Interop, umożliwiając zautomatyzowaną organizację i przeszukiwanie arkuszy kalkulacyjnych.
Metadane arkusza kalkulacyjnego Excel zawierają informacje o title, author, subject, keywords, creation date, modification date oraz inne istotne szczegóły. Metadane zapewniają kontekst i pomagają w organizowaniu i kategoryzowaniu arkuszy kalkulacyjnych. Uproszcza to wyszukiwanie i zarządzanie plikami, szczególnie przy pracy z wieloma plikami arkuszy kalkulacyjnych. Bez względu na to, czy tworzysz nowe arkusze kalkulacyjne, czy ładujesz istniejące skoroszyty, IronXL sprawia, że zarządzanie metadanymi jest bezproblemowe.
Szybki start: edytuj metadane skoroszytu w jednym prostym kroku
Ustaw, modyfikuj i zapisuj właściwości takie jak Title, Author lub Keywords używając interfejsu metadanych IronXL. Żadnych problemów z Interop—zacznij od razu, używając zaledwie kilku wierszy czystego, intuicyjnego kodu C#.
-
Install IronXL with NuGet Package Manager
PM > Install-Package IronXl.Excel -
Skopiuj i uruchom ten fragment kodu.
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"); -
Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronXL w swoim projekcie już dziś z darmową wersją próbną
Minimalny proces (5 kroków)
- Pobierz bibliotekę C# do edytowania metadanych skoroszytu
- Załaduj istniejący arkusz kalkulacyjny lub utwórz całkowicie nowy
- Access and modify the metadata information using the `Metadata` property
- Przeglądaj i modyfikuj dane arkusza kalkulacyjnego
- Eksportuj arkusz kalkulacyjny z edytowanymi właściwościami metadanych
Jak edytować właściwości metadanych skoroszytu?
Aby edytować nazwisko autora pliku z arkuszem kalkulacyjnym, ustaw właściwość Author z pożądanym ciągiem danych. Na przykład, workBook.Metadata.Author = "Your Name". Informacje o metadanych dostępne w właściwości Metadata klasy WorkBook mogą być uzyskane i pobrane. To podejście działa bezproblemowo z różnymi typami plików arkuszy kalkulacyjnych, w tym formatach XLSX, XLS i CSV.
Jakie właściwości mogę modyfikować programowo?
: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")
W bardziej złożonych scenariuszach można połączyć edytowanie metadanych z innymi operacjami Excel. Oto kompleksowy przykład, który demonstruje przetwarzanie wsadowe wielu plików 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
Co się dzieje z istniejącymi metadanymi po zapisaniu pliku?
Kiedy zapisujesz lub eksportujesz pliki Excel używając IronXL, wszystkie właściwości metadanych, których nie zmodyfikowałeś, zachowują swoje oryginalne wartości. Tylko właściwości, które zmieniłeś, zostaną zaktualizowane w zapisanym pliku. To podejście selektywne zapewnia, że cenne istniejące metadane nie zostaną przypadkowo utracone podczas przetwarzania. Poniższy obrazek pokazuje, jak metadane wyglądają w panelu właściwości dokumentów Excel po edycji z IronXL:
Jeśli musisz wyczyścić istniejące metadane przed ustawieniem nowych wartości, po prostu przypisz puste ciągi lub wartości null do właściwości, które chcesz zresetować. To jest szczególnie przydatne, gdy przygotowujesz dokumenty do dystrybucji zewnętrznej, gdzie chcesz usunąć informacje wewnętrzne firmy.
Jakie pola metadanych są dostępne w IronXL?
Nie wszystkie właściwości metadanych mogą być edytowane. Niektóre właściwości można tylko uzyskać. Zrozumienie, które właściwości wspierają różne operacje, jest kluczowe dla skutecznego zarządzania metadanymi. Podczas pracy z skoroszytami chronionymi hasłem, metadane mogą nadal być dostępne i modyfikowane po pomyślnym odszyfrowaniu skoroszytu.
Jakie właściwości wspierają operacje odczytu i zapisu?
| Właściwość | Opis | Operacje | Typowe zastosowania |
|---|---|---|---|
Author |
Imię twórcy dokumentu | Ustaw, modyfikuj, pobierz | Śledzenie własności dokumentu, zgodność |
Comments |
Dodatkowe notatki o dokumencie | Ustaw, modyfikuj, pobierz | Uwagi na temat wersji, instrukcje przetwarzania |
LastPrinted |
Data/godzina ostatniej operacji druku | Ustaw, modyfikuj, pobierz | Śledzenie historii drukowania, ścieżki audytu |
Keywords |
Wyszukiwalne słowa kluczowe | Ustaw, modyfikuj, pobierz | Klasyfikacja dokumentu, optymalizacja wyszukiwania |
Category |
Klasyfikacja kategorii dokumentu | Ustaw, modyfikuj, pobierz | Organizacja plików, sortowanie według działów |
Created |
Data utworzenia dokumentu | Ustaw, modyfikuj, pobierz | Śledzenie wieku dokumentu, decyzje archiwalne |
ModifiedDate |
Data ostatniej modyfikacji | Ustaw, modyfikuj, pobierz | Śledzenie zmian, kontrola wersji |
Subject |
Opis tematu dokumentu | Ustaw, modyfikuj, pobierz | Streszczenie zawartości, szybka identyfikacja |
Title |
Tytuł dokumentu | Ustaw, modyfikuj, pobierz | Identyfikacja dokumentu, raportowanie |
Jakie właściwości są tylko do odczytu?
| Właściwość | Opis | Typowe wartości |
|---|---|---|
ApplicationName |
Nazwa aplikacji, która utworzyła plik | "Microsoft Excel", "IronXL" |
CustomProperties |
Właściwości definiowane przez użytkownika | Zależy od dokumentu |
Company |
Nazwa firmy związana z dokumentem | Nazwa organizacji z systemu |
Manager |
Nazwa menedżera z właściwości dokumentu | Pobierz z oryginalnego pliku |
Template |
Szablon użyty do utworzenia dokumentu | Nazwa pliku szablonu lub "Normal" |
W przypadku zaawansowanych operacji metadanych i kompletnej dokumentacji API, zapoznaj się z Dokumentacją API IronXL. Jeśli napotkasz jakiekolwiek problemy z obsługą metadanych, skonsultuj się z naszymi poradnikami rozwiązywania problemów lub zapoznaj się z opcje licencji dla wdrożeń produkcyjnych.
Często Zadawane Pytania
Jak mogę programowo edytować metadane Excel w C#?
IronXL zapewnia prostą właściwość Metadata w klasie WorkBook, która pozwala programowo edytować metadane Excel. Możesz łatwo ustawić właściwości takie jak Tytuł, Autor, Temat i Słowa kluczowe bez potrzeby używania Microsoft Interop. Po prostu załaduj swój skoroszyt i uzyskaj dostęp do workBook.Metadata, aby zmodyfikować dowolną właściwość metadanych.
Jakie właściwości metadanych mogę zmodyfikować w pliku Excel?
Z IronXL można zmodyfikować różne właściwości metadanych, w tym Autor, Tytuł, Temat, Słowa kluczowe, Kategoria, Komentarze, Status, Kierownik i Firma. Biblioteka zapewnia również dostęp tylko do odczytu do daty utworzenia i modyfikacji, umożliwiając kompleksowe zarządzanie metadanymi twoich arkuszy kalkulacyjnych.
Czy potrzebuję zainstalowanego Microsoft Office, aby edytować metadane Excel?
Nie, IronXL nie wymaga instalacji Microsoft Office ani Interop. Jest to samodzielna biblioteka C#, która może niezależnie odczytywać, zapisywać i modyfikować pliki Excel i ich metadane, co czyni ją idealną dla środowisk serwerowych lub systemów bez instalacji Office.
Czy mogę przetwarzać metadane dla wielu plików Excel?
Tak, IronXL obsługuje przetwarzanie wsadowe plików Excel. Możesz iterować przez wiele arkuszy kalkulacyjnych w katalogu, ładować każdy z nich za pomocą WorkBook.Load(), modyfikować ich właściwości metadanych i zapisywać z powrotem. Jest to szczególnie przydatne przy organizowaniu dużych zbiorów plików arkuszy kalkulacyjnych.
Które formaty plików Excel obsługują edycję metadanych?
Możliwości edycji metadanych IronXL działają bezproblemowo z różnymi formatami plików arkuszy kalkulacyjnych, w tym plikami XLSX, XLS i CSV. Biblioteka obsługuje szczegóły specyficzne dla formatu wewnętrznie, umożliwiając korzystanie z tego samego interfejsu właściwości Metadata niezależnie od typu pliku.
Jak zapisać zmiany metadanych po edycji?
Po zmodyfikowaniu właściwości metadanych przy użyciu IronXL, wystarczy wywołać metodę Save(), aby zaktualizować istniejący plik, lub SaveAs(), aby utworzyć nowy plik z zaktualizowanymi metadanymi. Biblioteka automatycznie zapisuje wszystkie zmiany metadanych wraz z wszelkimi modyfikacjami danych arkuszy kalkulacyjnych.

