如何使用 IronXL 复制单元格

如何使用 IronXL 在 C# 中复制单元格

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

"复制单元格"功能允许您复制单元格的内容并将其粘贴到一个或多个其他单元格中。 这是在工作表中复制数据、公式、格式或其他属性的便捷方法。

快速入门:一行复制一列或一个区域

使用 IronXL,开发人员只需一次方法调用,即可将整个范围(无论是单个单元格、行、列还是块)从一个工作表复制到另一个工作表。 Copy功能可以保留样式和格式,同时让 Excel 自动化变得轻松快捷。

Nuget Icon立即开始使用 NuGet 创建 PDF 文件:

  1. 使用 NuGet 包管理器安装 IronXL

    PM > Install-Package IronXL.Excel

  2. 复制并运行这段代码。

    workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");
  3. 部署到您的生产环境中进行测试

    立即开始在您的项目中使用 IronXL,免费试用!
    arrow pointer


复制单个单元格示例

要复制选定单元格的内容,可以使用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

输出电子表格

复制单个细胞

复制单元格区域示例

Similar to the Clear method, this method is also available in the Range class, allowing you to execute it on any range, regardless of its size. Here are some examples:

-复制单个单元格( 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

-复制二维区域( 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

输出电子表格

复制单元格区域

跨工作表复制单元格示例

由于第一个参数接受工作表对象,因此可以在不同的工作表之间复制和粘贴单元格区域。 只需将不同的工作表对象作为第一个参数传递即可。

在以下示例中,Copy 方法的第一个参数是"Sheet2"工作表: workBook.GetWorksheet("Sheet2")

// Example Code: Copy cells across different worksheets in IronXL

using IronXL;

:path=/static-assets/excel/content-code-examples/how-to/copy-cells-copy-to-other-worksheet.cs
// Example Code: Copy cells across different worksheets in IronXL

using IronXL;

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");
' Example Code: Copy cells across different worksheets in IronXL

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

常见问题解答

如何在C#中高效复制单元格内容?

要在C#中高效复制单元格内容,使用IronXL的Copy方法。此方法允许您在同一工作表或跨多个工作表中复制数据、公式和样式。

如何在C#中复制单个单元格?

您可以使用IronXL在C#中通过调用单元格上的Copy方法来复制单个单元格,指定目标工作表和位置。该方法保留任何现有的单元格样式。

在C#库中复制列的过程是什么?

要使用C#中的IronXL复制列,使用GetColumn方法选择列,然后应用Copy方法指定目标工作表和位置。

如何在C#中复制一行数据?

要在C#中复制行,使用IronXL的GetRow方法选择行,然后使用Copy方法定义目标工作表和起始位置。

在C#中是否可以复制特定的单元格范围?

是的,IronXL允许您使用Copy方法复制特定的单元格范围。您需要指定单元格范围和目标工作表的起始位置。

我可以在C#中在工作表之间传输单元格吗?

是的,IronXL支持在工作表之间传输单元格。您可以使用Copy方法并将目标工作表对象作为第一个参数传递。

在C#中复制单元格时格式会被保留吗?

IronXL的Copy方法在复制单元格时保留单元格格式和样式,以便进行一致的数据复制。

使用C#库复制单元格需要哪些步骤?

要使用IronXL复制单元格,从NuGet下载库,加载您的Excel电子表格,选择所需的范围、行或列,并使用Copy方法指定目标。

如何指定复制的数据应放置在工作表的何处?

在IronXL中,使用Copy方法的第二个参数指定复制数据的目标位置,该参数定义目标工作表中的起始地址。

在C#应用程序中可以自动化单元格复制吗?

是的,使用IronXL,您可以通过利用Copy方法以及库提供的其他自动化功能来自动化C#应用程序中的单元格复制。

Chaknith Bin
软件工程师
Chaknith 在 IronXL 和 IronBarcode 工作。他在 C# 和 .NET 方面有着深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的见解有助于更好的产品、文档和整体体验。
准备开始了吗?
Nuget 下载 1,738,553 | Version: 2025.11 刚刚发布