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

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

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

IronXL은 Excel 스프레드시트에서 셀, 범위, 행 또는 열을 복사할 수 있도록 하며, 데이터 복사 중 모든 서식 및 스타일을 유지하는 단일 Copy 메서드를 사용하여 서로 다른 위치나 워크시트 간에 복사합니다.

"셀 복사" 기능은 셀 내용을 복제하여 다른 셀에 붙여 넣습니다. 워크시트 내에서 데이터, 수식, 서식 및 기타 속성을 복제합니다. Whether creating spreadsheets from scratch or loading existing Excel files, the copy functionality is essential for efficient data manipulation.

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

하나의 메서드 호출을 통해 한 시트에서 다른 시트로 단일 셀, 행, 열 또는 블록과 같은 전체 범위를 복사합니다. 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 메서드를 사용하십시오. 워크시트 객체를 첫 번째 매개변수로, 시작 위치를 두 번째 매개변수로 전달합니다. The Copy method retains all styling including font and size, background patterns and colors, and borders and alignment.

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

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

Copy 메서드는 다음을 포함한 모든 셀 속성을 유지합니다:

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

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

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

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

Copy 메서드는 정확한 제어를 위해 두 개의 매개변수를 요구합니다:

  1. 워크시트 매개변수: 대상 워크시트를 지정합니다(워크북 내에서 동일하거나 다른 것).
  2. 주소 매개변수: 붙여 넣을 내용의 시작 셀 위치를 정의합니다.

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

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

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

  • 개별 값 또는 수식을 복제할 때
  • 헤더 셀이나 레이블을 복사할 때
  • 특정 계산 결과를 복제할 때
  • 요약 값을 다룰 때

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

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

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

Like the Clear method, Copy is available in the Range class, allowing execution on any range size. When selecting ranges, IronXL provides flexible copying options:

  • 단일 셀 복사 (C10):

    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");
    $vbLabelText   $csharpLabel
  • 행 복사 (4):

    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");
    $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");
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");
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");
$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 복사 작업을 보여주는 화살표

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

첫 번째 매개 변수는 워크시트 객체를 허용하여 다른 워크시트 간에 복사 및 붙여넣기를 가능하게 합니다. 첫 번째 매개 변수로 다른 워크시트 객체를 전달합니다. This functionality proves essential when managing multiple worksheets or creating summary sheets from detailed data.

참고해 주세요다음 예제에서 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("multisheet.xlsx");
WorkSheet sheet1 = workBook.GetWorkSheet("Sheet1");
WorkSheet sheet2 = workBook.GetWorkSheet("Sheet2");

// Copy entire data range from Sheet1 to Sheet2
sheet1["A1:D10"].Copy(sheet2, "A1");

// Copy with formulas intact
sheet1["E1:E10"].Copy(sheet2, "F1");

// Copy formatting from template sheet
WorkSheet templateSheet = workBook.GetWorkSheet("Template");
templateSheet["A1:Z1"].Copy(sheet2, "A15");

workBook.SaveAs("crossSheetCopy.xlsx");
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");
using IronXL;

WorkBook workBook = WorkBook.Load("multisheet.xlsx");
WorkSheet sheet1 = workBook.GetWorkSheet("Sheet1");
WorkSheet sheet2 = workBook.GetWorkSheet("Sheet2");

// Copy entire data range from Sheet1 to Sheet2
sheet1["A1:D10"].Copy(sheet2, "A1");

// Copy with formulas intact
sheet1["E1:E10"].Copy(sheet2, "F1");

// Copy formatting from template sheet
WorkSheet templateSheet = workBook.GetWorkSheet("Template");
templateSheet["A1:Z1"].Copy(sheet2, "A15");

workBook.SaveAs("crossSheetCopy.xlsx");
$vbLabelText   $csharpLabel

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

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

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

When working with formulas that reference other cells, IronXL automatically adjusts relative references based on the new location while maintaining absolute references.

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

새 워크시트로 복사할 때:

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

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

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

For complex scenarios involving multiple sheets, consider using IronXL's ability to work with DataSets and DataTables for sophisticated data manipulation.

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

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

// 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");
// 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");
$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 메서드에 대상 워크시트와 위치를 전달합니다. 이 모든 작업을 단 한 줄의 코드로 처리할 수 있습니다.

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

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, 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
샘플을 실행하세요 데이터가 스프레드시트로 변환되는 것을 지켜보세요.