C#에서 통합 문서 메타데이터를 편집하는 방법

C#에서 Excel 워크북 메타데이터를 편집하는 방법

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

IronXL의 Metadata 속성을 사용하여 C#에서 Excel 메타데이터를 편집하고 Microsoft Interop 없이 author, title, keywords 및 기타 문서 속성을 프로그래밍 방식으로 설정하여 자동화된 스프레드시트 구성 및 검색 기능을 활성화합니다.

Excel 스프레드시트의 메타데이터에는 title, author, subject, keywords, creation date, modification date 및 기타 관련 세부 정보에 대한 정보가 포함됩니다. 메타데이터는 맥락을 제공하며 스프레드시트의 조직과 범주화를 돕습니다. 여러 스프레드시트 파일을 사용할 때 특히 파일 검색과 관리를 단순화합니다. 새 스프레드시트를 생성하거나 기존 워크북을 로드할 때, IronXL은 메타데이터 관리를 원활하게 만듭니다.

빠른 시작: 간단한 단계로 워크북 메타데이터 편집

IronXL의 메타데이터 인터페이스를 사용하여 Title, Author 또는 Keywords와 같은 속성을 설정, 수정 및 저장합니다. Interop이 필요 없으며, 깔끔하고 직관적인 몇 줄의 C# 코드로 즉시 시작할 수 있습니다.

  1. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronXl.Excel 설치하기

    PM > Install-Package IronXl.Excel
  2. 다음 코드 조각을 복사하여 실행하세요.

    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. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronXL 사용 시작하기

    arrow pointer

워크북 메타데이터 속성을 어떻게 편집합니까?

스프레드시트 파일의 작성자 이름을 편집하려면 Author 속성에 원하는 데이터 문자열을 설정하십시오. 예를 들어, workBook.Metadata.Author = "Your Name". WorkBook 클래스의 Metadata 속성에 있는 메타데이터 정보에 접근하고 검색할 수 있습니다. 이 접근 방식은 XLSX, XLSCSV 형식을 포함한 다양한 스프레드시트 파일 유형과 원활하게 작동합니다.

어떤 속성을 프로그래밍 방식으로 수정할 수 있습니까?

: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

보다 복잡한 시나리오의 경우 메타데이터 편집을 다른 Excel 작업과 결합할 수 있습니다. 다음은 여러 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

저장할 때 기존 메타데이터는 어떻게 됩니까?

IronXL을 사용하여 Excel 파일을 저장하거나 내보낼 때, 명시적으로 수정하지 않은 메타데이터 속성은 원래 값을 유지합니다. 수정한 속성만 저장 파일에서 업데이트됩니다. 이 선택적 업데이트 접근 방식은 처리 중에 중요한 기존 메타데이터가 실수로 손실되지 않도록 보장합니다. 다음 이미지는 IronXL로 편집한 후 Excel의 문서 속성 패널에 메타데이터가 어떻게 표시되는지 보여줍니다:

IronXL로 수정한 후 작성자, 제목, 주제, 키워드를 포함하여 수정된 메타데이터 필드를 보여주는 Excel 문서 속성 패널

새 값을 설정하기 전에 기존 메타데이터를 지워야 할 경우, 재설정하려는 속성에 빈 문자열이나 null 값을 할당하면 됩니다. 이 방법은 외부 배포를 위해 문서를 준비할 때 특히 유용합니다. 이 경우 내부 회사 정보를 제거하길 원할 수 있습니다.


IronXL에서 사용 가능한 메타데이터 필드는 무엇이 있습니까?

모든 메타데이터 속성을 편집할 수 있는 것은 아닙니다. 일부 속성은 검색만 가능합니다. 다른 작업을 지원하는 속성을 이해하는 것이 효과적인 메타데이터 관리를 위해 중요합니다. 암호로 보호된 워크북을 다룰 때, 워크북이 성공적으로 복호화된 후에도 메타데이터에 여전히 액세스하고 수정할 수 있습니다.

어떤 속성이 읽기 및 쓰기 작업을 지원합니까?

재산 설명 작업 일반적인 사용 사례
Author 문서 작성자 이름 설정, 수정, 검색 문서 소유권 추적, 준수
Comments 문서에 대한 추가 정보 설정, 수정, 검색 버전 노트, 처리 지침
LastPrinted 마지막 인쇄 작업의 날짜/시간 설정, 수정, 검색 인쇄 기록 추적, 감사 기록
Keywords 검색 가능한 키워드 설정, 수정, 검색 문서 분류, 검색 최적화
Category 문서 범주 분류 설정, 수정, 검색 파일 조직, 부서별 정렬
Created 문서 작성 날짜 설정, 수정, 검색 문서 연령 추적, 보관 결정
ModifiedDate 최종 수정 날짜 설정, 수정, 검색 변경 추적, 버전 관리
Subject 문서 주제 설명 설정, 수정, 검색 내용 요약, 빠른 식별
Title 문서 제목 설정, 수정, 검색 문서 식별, 보고

어떤 속성이 읽기 전용입니까?

재산 설명 일반적인 값
ApplicationName 파일을 만든 응용 프로그램의 이름 "Microsoft Excel", "IronXL"
CustomProperties 사용자 정의 속성 문서별로 다름
Company 문서와 관련된 회사 이름 시스템에서 가져온 조직 이름
Manager 문서 속성의 관리자 이름 원본 파일에서 가져옴
Template 문서를 만들 때 사용된 템플릿 템플릿 파일 이름 또는 "Normal"

고급 메타데이터 작업 및 전체 API 문서를 보려면 IronXL API 참조를 참조하십시오. 메타데이터 처리에 문제가 있는 경우, 문제 해결 가이드를 참조하거나 라이선스 옵션을 탐색하여 프로덕션 배포에 대비하십시오.

자주 묻는 질문

C#에서 Excel 메타데이터를 프로그래밍 방식으로 편집하려면 어떻게 해야 하나요?

IronXL은 WorkBook 클래스에 간단한 Metadata 속성을 제공하여 Excel 메타데이터를 프로그래밍 방식으로 편집할 수 있도록 합니다. Microsoft Interop 없이도 제목, 저자, 주제, 키워드와 같은 속성을 쉽게 설정할 수 있습니다. 통합 문서를 불러온 다음 workBook.Metadata에 접근하여 모든 메타데이터 속성을 수정하면 됩니다.

엑셀 파일에서 수정할 수 있는 메타데이터 속성은 무엇인가요?

IronXL을 사용하면 작성자, 제목, 주제, 키워드, 카테고리, 댓글, 상태, 관리자, 회사 등 다양한 메타데이터 속성을 수정할 수 있습니다. 또한 라이브러리는 생성 및 수정 날짜에 대한 읽기 전용 액세스를 제공하여 스프레드시트의 메타데이터를 완벽하게 관리할 수 있도록 지원합니다.

엑셀 메타데이터를 편집하려면 마이크로소프트 오피스가 설치되어 있어야 하나요?

아니요, IronXL은 Microsoft Office나 Interop 설치를 필요로 하지 않습니다. IronXL은 Excel 파일과 해당 메타데이터를 독립적으로 읽고 쓰고 수정할 수 있는 독립형 C# 라이브러리이므로 Office가 설치되지 않은 서버 환경이나 시스템에 적합합니다.

여러 엑셀 파일의 메타데이터를 일괄 처리할 수 있나요?

네, IronXL은 Excel 파일의 일괄 처리를 지원합니다. 디렉터리에 있는 여러 스프레드시트를 순회하면서 WorkBook.Load()를 사용하여 각 파일을 불러오고, 메타데이터 속성을 수정한 후 다시 저장할 수 있습니다. 이 기능은 대규모 스프레드시트 파일 모음을 정리하는 데 특히 유용합니다.

어떤 Excel 파일 형식이 메타데이터 편집을 지원합니까?

IronXL의 메타데이터 편집 기능은 XLSX, XLS, CSV 파일을 포함한 다양한 스프레드시트 파일 형식과 원활하게 호환됩니다. 라이브러리가 형식별 세부 정보를 내부적으로 처리하므로 파일 형식에 관계없이 동일한 메타데이터 속성 인터페이스를 사용할 수 있습니다.

편집 후 메타데이터 변경 사항을 저장하려면 어떻게 해야 하나요?

IronXL을 사용하여 메타데이터 속성을 수정한 후에는 Save() 메서드를 호출하여 기존 파일을 업데이트하거나 SaveAs() 메서드를 호출하여 업데이트된 메타데이터가 포함된 새 파일을 생성하면 됩니다. 라이브러리는 모든 메타데이터 변경 사항과 스프레드시트 데이터 수정 사항을 자동으로 저장합니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

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

시작할 준비 되셨나요?
Nuget 다운로드 1,890,100 | 버전: 2026.3 방금 출시되었습니다

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

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronXl.Excel
샘플을 실행하세요 데이터가 스프레드시트로 변환되는 것을 지켜보세요.