IronXL을 사용하여 셀을 복사하는 방법

IronXL을 사용한 C#에서의 셀 복사 방법

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

IronXL은 Excel 스프레드시트의 셀, 범위, 행, 열을 복사하여 모든 서식과 스타일을 유지하며 데이터 간 복제 및 다른 위치나 워크시트 간에 복제하고 단일 Copy 메서드를 사용합니다.

"셀 복사" 기능은 셀 내용을 복제하여 다른 셀에 붙여 넣습니다. 워크시트 내에서 데이터, 수식, 서식 및 기타 속성을 복제합니다. 처음부터 스프레드시트를 생성하든 기존 Excel 파일을 로드하든 복사 기능은 효율적인 데이터 조작에 필수적입니다.

빠른 시작: 한 줄로 열 또는 범위 복사

하나의 메서드 호출을 통해 한 시트에서 다른 시트로 단일 셀, 행, 열 또는 블록과 같은 전체 범위를 복사합니다. Copy 기능은 스타일 및 서식을 유지하여 Excel 자동화를 빠르고 간단하게 만듭니다.

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

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

    workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

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

    arrow pointer


Excel에서 단일 셀을 어떻게 복사합니까?

선택된 셀의 내용을 복사하려면 Copy 메서드를 사용하십시오. 워크시트 객체를 첫 번째 매개변수로, 시작 위치를 두 번째 매개변수로 전달합니다. Copy 메서드를 사용하여 포함된 글꼴 및 크기, 배경 무늬 및 색상, 경계 및 정렬을 포함한 모든 스타일을 유지합니다.

:path=/static-assets/excel/content-code-examples/how-to/copy-cells-copy-single-cell.cs
using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Copy cell content
workSheet["A1"].Copy(workBook.GetWorkSheet("Sheet1"), "B3");

workBook.SaveAs("copySingleCell.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Copy cell content
workSheet("A1").Copy(workBook.GetWorkSheet("Sheet1"), "B3")

workBook.SaveAs("copySingleCell.xlsx")
$vbLabelText   $csharpLabel

복사 시 어떤 서식이 유지됩니까?

Copy 메서드를 사용하여 모든 셀 특성을 유지하여:

  • Cell 값 및 수식
  • 숫자 형식(통화, 백분율, 날짜)
  • 글꼴 스타일(서체, 크기, 굵게, 기울임꼴, 색상)
  • 셀 테두리 및 배경 색상
  • 텍스트 정렬(수평 및 수직)
  • 셀 보호 설정

이 포괄적인 보존은 복사된 셀들이 Microsoft Excel에서 Ctrl+C와 Ctrl+V를 사용하는 것과 유사하게 원래의 외관과 기능을 유지하도록 보장합니다.

셀 A1이 선택된 스프레드시트가 화살표로 셀 B3을 가리키고, 복사된 값을 보여주는 단일 셀 복사를 시연합니다.

왜 복사 메서드는 두 개의 매개변수를 필요로 합니까?

Copy 메서드는 정밀 제어를 위해 두 개의 매개변수가 필요합니다:

  1. 워크시트 매개변수: (동일 또는 다른 워크북에서) 대상 워크시트 지정
  2. 주소 매개변수: 붙여넣은 콘텐츠의 시작 셀 위치 정의

이 디자인은 동일한 시트 내에서 또는 다른 시트 간에 유연하게 복사할 수 있도록 하며, 여러 소스에서 데이터를 요약 보고서나 통합하기에 적합합니다.

언제 단일 셀 복사 대 범위 복사를 사용해야 합니까?

다음과 같은 경우 단일 셀 복사를 선택하십시오.

  • 개별 값 또는 공식 복제
  • 헤더 셀 또는 레이블 복사
  • 특정 계산 결과 복제
  • 요약 값 작업

다음과 같은 경우 범위 복사를 사용하십시오.

  • 전체 데이터 테이블 이동
  • 여러 관련 셀 복제
  • 전체 행 또는 열 복사
  • 데이터 관계를 유지할 때

여러 셀 또는 범위를 어떻게 복사할 수 있습니까?

Clear 메서드와 같이, CopyRange 클래스에서 사용할 수 있으며, 모든 범위 크기에 대해 실행 가능합니다. 범위를 선택할 때, IronXL은 유연한 복사 옵션을 제공합니다:

  • 단일 셀 복사(C10):

    workSheet["C10"].Copy(workBook.GetWorkSheet("Sheet1"), "B13");
    workSheet["C10"].Copy(workBook.GetWorkSheet("Sheet1"), "B13");
    workSheet("C10").Copy(workBook.GetWorkSheet("Sheet1"), "B13")
    $vbLabelText   $csharpLabel
  • 열 복사(A):

    workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");
    workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");
    workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1")
    $vbLabelText   $csharpLabel
  • 행 복사(4):

    workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15");
    workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15");
    workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15")
    $vbLabelText   $csharpLabel
  • 2차원 범위 복사(D6:F8):

    workSheet["D6:F8"].Copy(workBook.GetWorkSheet("Sheet1"), "H17");
    workSheet["D6:F8"].Copy(workBook.GetWorkSheet("Sheet1"), "H17");
    workSheet("D6:F8").Copy(workBook.GetWorkSheet("Sheet1"), "H17")
    $vbLabelText   $csharpLabel

참고해 주세요두 번째 매개변수는 데이터 입력 시작 지점을 표시하는 주소 위치를 수락합니다. 복사된 데이터는 해당 주소에서 시작하여 오른쪽과 아래쪽으로 확장됩니다.

:path=/static-assets/excel/content-code-examples/how-to/copy-cells-copy-cell-range.cs
using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Copy a single cell(C10)
workSheet["C10"].Copy(workBook.GetWorkSheet("Sheet1"), "B13");

// Copy a column(A)
workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");

// Copy a row(4)
workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15");

// Copy a two-dimensional range(D6:F8)
workSheet["D6:F8"].Copy(workBook.GetWorkSheet("Sheet1"), "H17");

workBook.SaveAs("copyCellRange.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Copy a single cell(C10)
workSheet("C10").Copy(workBook.GetWorkSheet("Sheet1"), "B13")

' Copy a column(A)
workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1")

' Copy a row(4)
workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15")

' Copy a two-dimensional range(D6:F8)
workSheet("D6:F8").Copy(workBook.GetWorkSheet("Sheet1"), "H17")

workBook.SaveAs("copyCellRange.xlsx")
$vbLabelText   $csharpLabel

대상 범위가 너무 작을 때는 어떻게 됩니까?

IronXL은 크기 차이를 자동으로 처리합니다.

  • 목적지 매개변수는 시작 셀만 지정
  • 전체 소스 범위는 목적지 크기에 관계없이 복사
  • 대상 영역의 기존 데이터는 덮어쓰기
  • 복사 작업은 모든 소스 데이터를 수용하도록 확장

예를 들어, 3x3 범위를 셀 B1로 복사하면 셀 B1:D3의 내용을 채우며, 기존 내용을 덮어씁니다.

행 및 열 참조는 어떻게 작동합니까?

IronXL은 GetRow()GetColumn() 메서드를 사용하여 행과 열에 대해 0 기반 인덱싱을 사용합니다:

  • GetColumn(0) 는 A 열을 참조합니다
  • GetColumn(1) 는 B 열을 참조합니다
  • GetRow(0) 는 1 행을 참조합니다
  • GetRow(3) 는 4 행을 참조합니다

이 인덱싱은 표준 C# 배열 규칙과 일치합니다.

GetColumn()GetRow() 메서드를 사용하는 이유는 무엇입니까?

GetColumn()GetRow() 메서드는 다음과 같은 기능을 제공합니다:

  • 성능: 전체 행이나 열에 대해 더 효율적입니다
  • 명확성: 코드의 의도를 더 명확하게 합니다
  • 유연성: 모든 범위 작업을 지원하는 Range 객체를 반환
  • 편의성: 전체 선택에 대해 끝 셀을 계산할 필요가 없습니다

이 메서드는 전체 열 복사를 요구하는 보고서를 작성하거나 행 템플릿을 복제할 때 뛰어난 성능을 발휘합니다.

소스 범위 A1:F10에서 대상 셀로 복사된 데이터를 강조 표시한 Excel 복사 작업을 보여주는 화살표

다른 워크시트 간에 셀을 어떻게 복사합니까?

첫 번째 매개 변수는 워크시트 객체를 허용하여 다른 워크시트 간에 복사 및 붙여넣기를 가능하게 합니다. 첫 번째 매개 변수로 다른 워크시트 객체를 전달합니다. 이 기능은 여러 워크시트 관리 또는 세부 데이터로부터 요약 시트를 만들 때 필수적입니다.

참고해 주세요다음 예에서는 Copy 메서드의 첫 번째 매개변수가 "Sheet2" 워크시트를 나타냅니다: workBook.GetWorksheet("Sheet2")

:path=/static-assets/excel/content-code-examples/how-to/copy-cells-copy-to-other-worksheet.cs
using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Copy cell content
workSheet["A1"].Copy(workBook.GetWorkSheet("Sheet2"), "B3");

workBook.SaveAs("copyAcrossWorksheet.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Copy cell content
workSheet("A1").Copy(workBook.GetWorkSheet("Sheet2"), "B3")

workBook.SaveAs("copyAcrossWorksheet.xlsx")
$vbLabelText   $csharpLabel

일반적인 크로스 워크시트 복사 시나리오는 무엇입니까?

크로스 워크시트 복사는 다음과 같은 시나리오에 자주 사용됩니다:

  1. 요약 시트 생성: 상세 시트에서 주요 지표를 대시보드로 복사합니다
  2. 템플릿 복제: 서식이 지정된 템플릿을 새로운 워크시트로 복사합니다
  3. 데이터 통합: 부서별 시트에서 데이터를 수집하여 마스터 시트로 통합합니다
  4. 보고서 생성: 필터링된 결과를 별도 보고서 워크시트로 복사합니다
  5. 백업 작업: 중요한 데이터를 백업 시트로 복사합니다

다른 셀을 참조하는 수식을 사용할 때 IronXL은 새 위치를 기반으로 상대 참조를 자동으로 조정하면서 절대 참조를 유지합니다.

새 워크시트 vs 기존 워크시트에 복사해야 할 때는 언제입니까?

새 워크시트로 복사할 때:

  • 정기 보고서 생성 (일일, 주간, 월간)
  • 처리된 데이터를 원시 데이터에서 격리
  • 소스 데이터를 기반으로 분석 워크시트 작성
  • 사용자별 데이터 뷰 생성

기존 워크시트로 복사할 때:

  • 진행 중인 로그에 데이터 추가
  • 대시보드 섹션 업데이트
  • 여러 데이터 소스 통합
  • 역사적 기록 유지

여러 시트를 포함하는 복잡한 시나리오의 경우, IronXL의 DataSets 및 DataTables 작업 능력을 고려하여 복잡한 데이터 조작을 수행하십시오.

워크시트 이름 충돌을 어떻게 처리합니까?

워크시트 간 복사 시 적절한 워크시트 관리 보장:

:path=/static-assets/excel/content-code-examples/how-to/copy-cells-5.cs
// Check if worksheet exists before copying
if (workBook.GetWorkSheet("TargetSheet") == null)
{
    workBook.CreateWorkSheet("TargetSheet");
}

// Safe copy operation
WorkSheet targetSheet = workBook.GetWorkSheet("TargetSheet");
sourceSheet["A1:Z100"].Copy(targetSheet, "A1");
Option Strict On



' Check if worksheet exists before copying
If workBook.GetWorkSheet("TargetSheet") Is Nothing Then
    workBook.CreateWorkSheet("TargetSheet")
End If

' Safe copy operation
Dim targetSheet As WorkSheet = workBook.GetWorkSheet("TargetSheet")
sourceSheet("A1:Z100").Copy(targetSheet, "A1")
$vbLabelText   $csharpLabel

이 접근 방식은 런타임 오류를 방지하고 특히 생산 환경에서 Excel 프로세스를 자동화할 때 복사 작업이 성공적으로 이루어지도록 합니다.

자주 묻는 질문

C#을 사용하여 Excel에서 단일 셀을 복사하는 방법은 무엇입니까?

IronXL을 사용하면 Copy 메서드를 이용하여 단일 셀을 복사할 수 있습니다. 복사할 셀(예: workSheet["A1"])을 선택하고, 대상 워크시트와 대상 셀 주소를 매개변수로 전달하여 Copy 메서드를 호출하기만 하면 됩니다. IronXL은 복사 작업 중에 글꼴, 색상, 테두리, 수식 등 모든 서식을 유지합니다.

셀을 복사할 때 어떤 서식이 유지되나요?

IronXL의 복사 기능은 셀 값과 수식, 숫자 서식(통화, 백분율, 날짜), 글꼴 스타일(글꼴, 크기, 굵게, 기울임, 색상), 셀 테두리 및 배경색, 텍스트 정렬(가로 및 세로), 셀 보호 설정 등 모든 셀 속성을 그대로 유지합니다. 따라서 복사된 셀은 원래 모양과 기능을 그대로 유지합니다.

전체 열이나 범위를 한 번에 복사할 수 있나요?

네, IronXL을 사용하면 한 번에 전체 열, 행 또는 범위를 복사할 수 있습니다. GetColumn(0).Copy()와 같은 메서드를 사용하여 전체 열을 복사하거나 셀 범위를 선택하여 여러 셀을 한 번에 복사할 수 있습니다. Copy 메서드는 단일 셀부터 전체 워크시트까지 모든 크기의 선택 영역에 대해 작동합니다.

서로 다른 워크시트 간에 셀을 복사하려면 어떻게 해야 하나요?

IronXL을 사용하면 워크시트 간 셀 복사가 간편해집니다. Copy 메서드를 사용할 때 첫 번째 매개변수로 대상 워크시트(예: workBook.GetWorkSheet("Sheet2"))를 지정하고 두 번째 매개변수로 대상 셀 주소를 지정합니다. 이렇게 하면 동일한 통합 문서 내의 여러 시트 간에 데이터를 복사할 수 있습니다.

엑셀에서 셀을 복사하는 데 필요한 최소 단계는 무엇입니까?

IronXL을 사용하면 셀 복사에 단 5단계만 거치면 됩니다. 1) IronXL C# 라이브러리를 다운로드하고, 2) 기존 Excel 스프레드시트를 불러오고, 3) 복사할 범위, 행 또는 열을 선택하고, 4) 선택한 범위에서 Copy 메서드를 호출하고, 5) Copy 메서드에 대상 워크시트와 위치를 전달합니다. 이 모든 작업을 단 한 줄의 코드로 처리할 수 있습니다.

Curtis Chau
기술 문서 작성자

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

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

시작할 준비 되셨나요?
Nuget 다운로드 2,134,203 | 버전: 2026.7 방금 출시
Still Scrolling Icon

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

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