Excel의 텍스트 상자에서 태그를 텍스트로 바꾸기

소개

이 글에서는 Aspose.Cells를 사용하여 Excel 시트의 텍스트 상자 안에 있는 태그를 텍스트로 바꾸는 특정 작업에 대해 알아보겠습니다. 전체 과정을 단계별로 안내하여 모든 세부 사항을 파악할 수 있도록 도와드리겠습니다. 이 튜토리얼을 마치면 Aspose.Cells에 대한 이해가 깊어질 뿐만 아니라 Excel 관련 작업도 간소화할 수 있습니다!

필수 조건

시작하기 전에 몇 가지를 준비해야 합니다.

  1. Visual Studio: Visual Studio가 설치되어 있는지 확인하세요. C# 코딩을 쉽게 해주는 유연한 IDE입니다.
  2. Aspose.Cells 라이브러리: 아직 다운로드하지 않았다면 .NET용 Aspose.Cells 라이브러리를 다음에서 다운로드하세요.페이지무료 체험판을 받아서 기능을 확인해 볼 수도 있습니다.
  3. C#에 대한 기본 지식: C# 프로그래밍에 대한 기본적인 이해는 이 가이드를 쉽게 따라가는 데 큰 도움이 될 것입니다. 이제 모든 준비가 끝났으니, 즐거운 부분인 코드 작성으로 넘어가보죠!

패키지 가져오기

먼저 필요한 패키지를 임포트해 보겠습니다. 이는 올바른 임포트가 없으면 코드가 우리가 사용할 클래스와 메서드를 인식하지 못하기 때문에 중요합니다.

C# 프로젝트 시작하기

Visual Studio를 열고 새 C# 프로젝트를 만듭니다. 출력을 쉽게 볼 수 있도록 콘솔 애플리케이션이 좋습니다.

Aspose.Cells 참조 추가

  • 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭합니다.
  • “추가” > “참조"를 선택하세요.
  • Aspose.Cells 라이브러리를 다운로드한 위치로 이동하여 프로젝트에 포함시킵니다.

필요한 네임스페이스 가져오기

참조를 추가한 후 다음을 추가하세요.using 메인 파일의 맨 위에 있는 지시문:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Aspose.Cells.Drawing;

이렇게 하면 Aspose.Cells 네임스페이스 내의 클래스에 액세스할 수 있습니다. 이제 환경을 설정했으니, 육즙이 가득한 부분인 코딩으로 들어가보죠! 목표는 Excel 파일 내의 텍스트 상자에서 특정 태그를 찾아 제공된 텍스트로 바꾸는 것입니다.

1단계: 소스 및 출력 디렉토리 정의

먼저, 원본 Excel 파일의 위치와 수정된 버전을 저장할 위치를 지정해야 합니다.

// 소스 및 출력 디렉토리
string sourceDir = "Your Document Directory"; // 디렉토리 변경
string outputDir = "Your Document Directory"; // 디렉토리 변경

2단계: 통합 문서 로드

여기서 Excel 통합 문서를 로드합니다. 파일이 없으면 오류가 발생합니다. 따라서 파일 경로가 올바른지 확인하세요!

Workbook wb = new Workbook(sourceDir + "sampleReplaceTagWithText.xlsx");

여기서는 기존 Excel 파일을 로드합니다.sampleReplaceTagWithText.xlsx.

3단계: 태그 및 대체 텍스트 정의

다음으로, 우리가 찾고 있는 태그와 그 태그를 무엇으로 바꾸고 싶은지 정의해야 합니다.

string tag = "TAG_2$TAG_1";
string replace = "1$ys";

이 예에서 태그는 다음을 사용하여 분할됩니다.$원하는 구분 기호로 바꿀 수 있습니다.

4단계: 태그 루프 및 교체

우리는 바꾸고 싶은 각 태그를 통과하는 루프를 만들 것입니다. 여기서 마법이 일어납니다!

for (int i = 0; i < tag.Split('$').Length; i++)
{
    sheetReplace(wb, "<" + tag.Split('$')[i] + ">", replace.Split('$')[i]);
}

5단계: 통합 문서 저장

이제 대체물을 만들었으니 수정된 통합 문서를 원하는 형식으로 저장할 차례입니다. PDF로 변환하는 방법은 다음과 같습니다.

PdfSaveOptions opts = new PdfSaveOptions();
wb.Save(outputDir + "outputReplaceTagWithText.pdf", opts);

XLSX를 포함하여 다양한 다른 형식으로 저장할 수도 있습니다.

6단계: 교체 논리 구현

여기가 우리 기능의 핵심이 있는 곳입니다.sheetReplace 이 방법은 Excel 워크시트에서 실제 교체를 처리합니다.

public static void sheetReplace(Workbook workbook, string sFind, string sReplace)
{
    string finding = sFind;
    foreach (Worksheet sheet in workbook.Worksheets)
    {
        sheet.Replace(finding, sReplace);
        for (int j = 0; j < 3; j++)
        {
            if (sheet.PageSetup.GetHeader(j) != null)
                sheet.PageSetup.SetHeader(j, sheet.PageSetup.GetHeader(j).Replace(finding, sReplace));
                
            if (sheet.PageSetup.GetFooter(j) != null)
                sheet.PageSetup.SetFooter(j, sheet.PageSetup.GetFooter(j).Replace(finding, sReplace));
        }
    }
    foreach (Worksheet sheet in workbook.Worksheets)
    {
        sFind = sFind.Replace("<", "&lt;");
        sFind = sFind.Replace(">", "&gt;");
        foreach (Aspose.Cells.Drawing.TextBox mytextbox in sheet.TextBoxes)
        {
            if (mytextbox.HtmlText != null)
            {
                if (mytextbox.HtmlText.IndexOf(sFind) >= 0)
                {
                    mytextbox.HtmlText = mytextbox.HtmlText.Replace(sFind, sReplace);
                }
            }
        }
    }
}
  • 먼저, 통합 문서의 각 워크시트를 반복합니다.
  • 셀 내용뿐만 아니라 머리글과 바닥글(있는 경우)의 주요 태그도 바꿉니다.
  • 마지막으로 시트의 각 텍스트 상자를 검사하여 찾고 있는 태그에 따라 텍스트 상자를 바꿉니다.

결론

그리고 보일라! 이제 Aspose.Cells for .NET을 사용하여 Excel 문서의 텍스트 상자에서 태그를 텍스트로 바꾸는 방법을 배웠습니다. 이는 특히 스프레드시트에서 반복적인 작업을 처리할 때 시간을 크게 절약할 수 있습니다.

자주 묻는 질문

여러 Excel 파일의 태그를 한 번에 바꿀 수 있나요?

네, 파일 목록을 반복하면 동일한 논리를 여러 Excel 파일에 적용할 수 있습니다.

Aspose.Cells를 사용하려면 유료 라이선스가 필요한가요?

무료 체험판으로 시작할 수 있지만, 모든 기능을 사용하려면 라이선스를 구매해야 합니다. 확인해 보세요Aspose의 구매 옵션.

Aspose.Cells를 사용하여 텍스트 상자의 이미지를 바꿀 수 있나요?

Aspose.Cells는 주로 텍스트를 다룹니다. 그러나 필요한 경우 이미지를 별도로 조작할 수 있습니다.

수정된 Excel 파일은 어떤 형식으로 저장할 수 있나요?

XLSX, PDF, CSV 등 다양한 형식으로 저장할 수 있습니다.

Aspose.Cells에 대한 지원은 어디에서 찾을 수 있나요?

지원을 받고 질문할 수 있습니다.Aspose 포럼.