Jak edytować metadane skoroszytu w języku C#

Jak edytować metadane skoroszytu Excel w C

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

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#.

  1. Install IronXL with NuGet Package Manager

    PM > Install-Package IronXl.Excel
  2. 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");
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronXL w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer

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

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
$vbLabelText   $csharpLabel

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:

Panel właściwości dokumentu Excel pokazujący edytowane pola metadanych, w tym Autor, Tytuł, Temat i Słowa kluczowe po modyfikacji 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.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 1,950,735 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronXl.Excel
uruchom próbkę zobacz, jak Twoje dane stają się arkuszem.