如何使用 IronXL 複製單元格

如何使用 IronXL 在 C# 中複製單元格。

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

IronXL.Excel 可使用單一 Copy 方法複製 Excel 試算表中的儲存格、範圍、行或列,此方法可保留所有格式和樣式,同時可在任何位置或工作表之間複製資料。

複製單元格"功能可複製單元格內容並貼到其他單元格。 它複製工作表內的資料、公式、格式和其他屬性。 Whether creating spreadsheets from scratch or loading existing Excel files, the copy functionality is essential for efficient data manipulation.

快速入門:一行複製一列或一個區域

使用一個方法呼叫將整個範圍 - 單一單元格、行、列或區塊 - 從一個工作表複製到另一個工作表。 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


如何在 Excel 中複製單一單元格? 若要複製選取的單元格內容,請使用 `Copy` 方法。 將工作表物件作為第一個參數傳遞,將起始位置作為第二個參數傳遞。 The `Copy` method retains all styling including font and size, background patterns and colors, and borders and alignment. ```csharp :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"); ```

複製時會保留哪些格式? `Copy` 方法會保留所有儲存格的屬性,包括 - `Cell` 值和公式 - 數字格式(貨幣、百分比、日期) - 字體造型(字型、大小、粗體、斜體、顏色) - 儲存格邊框和背景顏色 - 文字對齊(水平和垂直) - 單元保護設定 這種全面的保存方式可確保複製的單元格保持原來的外觀和功能,類似於在 Microsoft Excel 中使用 Ctrl+C 和 Ctrl+V。
試算表顯示選取的單元格 A1,箭頭指向包含複製值的單元格 B3,展示單元格複製

為什麼 Copy 方法需要兩個參數? `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`)**: ```csharp workSheet["C10"].Copy(workBook.GetWorkSheet("Sheet1"), "B13"); ``` - **複製一列 (`A`)**: ```csharp workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1"); ``` - **複製一行 (`4`)**: ```csharp workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15"); ``` - **複製二維範圍 (`D6:F8`)**: ```csharp workSheet["D6:F8"].Copy(workBook.GetWorkSheet("Sheet1"), "H17"); ``` 第二個參數接受一個位址位置,該位址位置標記資料輸入的起始點。 複製的資料將從該位址開始,並向右下方擴展。 ```cs :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"); ```

當目的地範圍太小時會發生什麼事? IronXL 會自動處理大小差異: - 目的地參數僅指定左上方的起始單元格 - 整個來源範圍的副本,不論目的地大小 - 目的地區域中的現有資料會被覆蓋 - 複製作業擴展至可容納所有來源資料 例如,複製 3x3 範圍至儲存格 `B1` 會填充儲存格 `B1:D3` 並覆蓋任何現有內容。

行和列引用如何工作? IronXL 使用 `GetRow()` 和 `GetColumn()` 方法對行和列進行基於零的索引: - `GetColumn(0)` 指 A 列 - `GetColumn(1)` 指列 B - `GetRow(0)` 指第 1 行 - `GetRow(3)` 指第 4 行 此索引符合標準 C# 陣列慣例。

為什麼要使用 GetColumn() 和 GetRow() 方法? `GetColumn()` 和 `GetRow()` 方法提供: - 效能:整行或整列的效率更高 - 清晰度:讓程式碼的意圖更清楚 - 彈性:傳回一個 `Range` 物件,支援所有範圍操作 - 便利性:不需要計算完整選項的結束單元 在建立需要全列複製的報表或複製行範本時,這些方法都很出色。
Excel 複製操作顯示從來源範圍 A1:F10 到目標儲存格的箭頭,並高亮顯示複製的資料

如何在不同工作表之間複製單元格? 第一個參數接受工作表物件,可在不同工作表間複製和貼上。 傳送不同的工作表物件作為第一個參數。 This functionality proves essential when managing multiple worksheets or creating summary sheets from detailed data. 在下列範例中,Copy 方法的第一個參數是"Sheet2"工作表: `workBook.GetWorksheet("Sheet2")` ```csharp :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"); ```

哪些是常見的跨工作表複製情境? 跨工作表複製經常服務於這些情境: 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.

我應該在何時複製到新工作表與現有工作表? **複製到新工作表時:** - 建立定期報告(每日、每週、每月) - 將處理過的資料與原始資料隔離 - 從原始資料建立分析工作表 - 產生使用者特定的資料檢視 **複製到現有工作表時:** - 將資料附加至持續的日誌 - 更新儀表板部分 - 整合多個資料來源 - 維護歷史記錄 For complex scenarios involving multiple sheets, consider using IronXL's ability to work with DataSets and DataTables for sophisticated data manipulation.

如何處理工作表命名衝突? 在工作表之間複製時,確保適當的工作表管理: ```csharp // 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"); ``` 此方法可防止執行時出錯,並確保成功進行複製作業,在生產環境中自動化 Excel 流程時尤其重要。

常見問題解答

如何使用 C# 在 Excel 中複製單一單元格?

使用 IronXL,您可以使用複製方法複製單一單元格。只需選擇要複製的單元格 (例如 workSheet["A1"]),然後調用複製方法,並傳入目標工作表和目標單元格位址作為參數即可。在複製操作中,IronXL 會保留所有格式,包括字型、顏色、邊框和公式。

複製單元格時會保留哪些格式?

IronXL 的複製方法可保留所有儲存格屬性,包括儲存格值和公式、數字格式 (貨幣、百分比、日期)、字型樣式 (字型、大小、粗體、斜體、顏色)、儲存格邊框和背景顏色、文字對齊方式 (水平和垂直),以及儲存格保護設定。這可確保複製的單元組保持其原始外觀和功能。

我可以一次複製整列或整個範圍嗎?

是的,IronXL 允許您在單一操作中複製整列、行或範圍。您可以使用 GetColumn(0).Copy() 等方法複製整列,或選擇單元格範圍,一次複製多個單元格。Copy 方法適用於任何選取大小,從單一單元格到整個工作表。

如何在不同的工作表之間複製單元格?

IronXL 可以輕鬆地在工作表之間複製單元格。使用複製方法時,請指定目標工作表為第一個參數 (例如 workBook.GetWorkSheet("Sheet2")),並指定目標儲存格位址為第二個參數。這可讓您在同一工作簿的不同工作表之間複製資料。

在 Excel 中複製單元格至少需要哪些步驟?

使用 IronXL,複製單元只需 5 個步驟:1) 下載 IronXL.Excel C# 函式庫;2) 載入您現有的 Excel 試算表;3) 選擇您想要複製的範圍、行或列;4) 在選取的範圍上啟動複製方法;5) 傳送目的地工作表和位置給複製方法。整個操作只需一行代碼即可完成。

Chaknith Bin
軟體工程師
Chaknith 在 IronXL 和 IronBarcode 上工作。他對 C# 和 .NET 擁有深厚的專業知識,幫助改進了軟體並支持客戶。他從用戶互動中得到的見解有助於改善產品、文檔和整體體驗。
準備好開始了嗎?
Nuget 下載 1,765,830 | 版本: 2025.12 剛發表